포트 - HTTP (80번) SMTP(25번)
A -> (우편집중국 -> 배송, 배달체계 -> 우편집중국) -> B
(통신 : 라우터)
서울시 / 강남구 / 대치동 / ㅇㅇ아파트
대분류 -> 소분류 : subnet
브로드캐스트 영역을 나누어 기밀성을 지킬 수 있다.
OSI 7 Layer의 구조
(유저인터페이스) ↓
7 : 응용계층 Application - 각종 응용서비스, 네트워크 관리 / 메시지 / ex FTP, SMTP, HTTP, DHCP, 텔넷
6 : 표현 Presentation - 네트워크 보안(암복호화), 압축/해제, 포맷변환 / 메시지 / ex ASCII, jpg, MIME
5 : 세션 Session - 소켓 프로그램, 동기화, 세션 관리 / 메시지 / ex SQL, RPC, 전송모드(반이중 전이중)
4 : 전송 Transport - 데이터 전송 보장, 오류&흐름&혼잡제어, QOS / 세그먼트 / ex TCP, UDP, SCTP
3 : 네트워크 Network - 통신경로 설정, 중계기능, 라우팅, IPv4, IPv6 / 패킷 / ex IP, ICMP, ARP, NAT
2 : 데이터 링크 Data Link - Frame화, 매체제어MAC, 오류&흐름제어 / 프레임 / ex 이더넷, 802.11(WLAN 무선랜)
1 : 물리 Physical - 물리적 연결 설정, 전송방식, 전송 매체 / 비트 스트림 / ex 기계적, 전기적, 절차적 규격
(전송매체) ↑
간단하게 알고 넘어가는 용어, 개념들
[FTP/TFTP - 파일전송
SNMP - 네트워크 관리
SMTP - 이메일 관리
Telnet - 원격제어
HTTP - 웹
DNS - 도메인을 ip로 바꾸어 통신할수있게 함
DHCP - 자동주소할당
반이중 : 송수신자가 한쪽으로만 가는 것
전이중 : 송수신자가 양방향으로 오고감
오류제어: 재전송요구
흐름제어: window size(용량) 조절
혼잡제어: 트래픽 양 조절
오류&흐름제어의 경우
전송계층에선 논리적인 제어, 데이터링크 계층에선 물리적인 제어로 볼 수 있다
TCP : 에러가 거의 없지만 느리다
UDP : 에러가 좀 있지만 빠르다
SCTP : TCP + UDP 결합.
ICMP : 통신의 제어와 관련. 수신자 확인 등.
IGMP : 그룹관련
ARP : IP주소 -> MAC 주소로 변경
RARP : MAC -> IP 주소 변경
NAT : 공인주소-사설주소 변경
RIP, BGP : 라우팅 관련 프로토콜
공인주소
- 인터넷에 통신할 때 사용
사설주소
- 특정 지역에서만 사용
NAT는 사설주소<->공인주소 쌍방 변환하여, 인터넷에 통신할 수 있도록 해줌
IPv4 32비트 주소가 고갈되어, 주소를 절약하기 위해 NAT가 설계됨.
(사설주소는 A구역의 111주소 B구역의 111주소처럼, 지역이 다르면 중복이 존재할 수 있게됨)
사설주소는 숨겨져 있기 때문에 보안성이 높아짐. ]
메일 전송 과정 (캡슐화<->역캡슐화)
A -> 응용계층Application (메시지 셋팅) -> 전송계층Transport (포트 추가)
-> 네트워크Network(IPv4나 IPv6 같은 ip주소 셋팅) -> 데이터 링크Data link(48비트 MAC물리주소 셋팅)
-> 전송매체 -> 다시 데이터링크부터 거슬러 올라가면서 역캡슐화 -> B
+48비트 MAC 물리주소 (24비트 Vendor + 24비트 serial number로 구성)
패킷의 전송방법
1. 유니캐스트 : 단일 송신자가 한명의 특정 수신자에게 전송
2. 멀티캐스트 : 단일 송신자가 다수의 특정 수신자에게 전송
3. 브로드캐스트 : 같은 네트워크에 있는 모든 불특정 다수의 수신자에게 전송 (기밀성 관련)
4. 애니캐스트 : 단일송신자가 그룹내 가장 가까운 위치의 수신자에게 1:1 전송
애니캐스트 예시
8.8.8.8 : Google public DNS
-> 자신이 속한 지역내에서 라우팅 경로가 최적인 지역 DNS 서비스를 제공
IPv4 IPv6
유니캐스트 O O
멀티캐스트 O O
브로드캐스트 O X
애니캐스트 X O
클래스별 IP 주소 분류. TCP/IP 체계 도입 초반에 제안됨.
First Byte
Class A : 0으로 시작 / n=8bit / 0 to 127
-> 2의 24제곱 - 2의 호스트 수용 (2개는 NAT주소, 브로드캐스트 주소)
Class B : 10으로 시작 / n=16bit / 128 to 191
-> 2의 16제곱 - 2의 호스트 수용
Claas C : 110으로 시작 / n=24bit / 192 to 223
->2의 8제곱 -2의 호스트 수용
Claas D : 1110으로 시작 / not applicable / 224 to 239
-> 멀티캐스트용으로 사용
Claas E : 1111으로 시작 / not applicable / 240 to 255
브로드캐스트 255.255.255.255
255(8비트) : 1111 1111 = 2의 8제곱
2의 7제곱까지의 누적값은 (2의 8제곱) - 1 이다.
ex
subnet을 나눌때
A클래스의 경우 8bit + 호스트할당 24bit
C클래스의 경우 24bit + 호스트할당 8bit
총 32bit가 됨
서브네팅과 슈퍼네팅
1) subnet mask : n=24 + 3 = 27
-> 호스트 개수가 주어졌을 때 : y = (2의 x제곱) -2 (x=호스트 비트수)
서브넷 마스크에서 뒤쪽부터 y개가 호스트 id가된다
-> 네트워크 개수가 주어졌을 때 : y = 2의 x제곱 (x=네트워크 부분 비트수)
서브넷 마스크에서 기존 네트워크 id부터 y개가 네트워크 부가 된다
2) default mask : n=24 (C class)
3) supernet mask : n=24 - 3 =21
(* 이 부분 잘 모르겠음. 다시 보거나 추가공부할것.)
IPv4 데이터그램
header : 20~60 byte 가변적
payload
VER 4bit (제일 첫 번째. IPv4 또는 IPv6)
HLEN 4bit (헤더 길이)
Service type 8bit 잘안씀
Total Length 16bit (2의16제곱-165536. 전체길이. 헤더길이를 빼면 데이터길이가 나옴)
Identification, Flags, Fragmentation offset : 단편화 관련
Time-to-live TTL. 시간측정. 라우터수. 무한루프방지.
Ptotocol 다중화 (4계층의 port, 3계층의 protocol, 2계층의 type)
Header checksum 분할후에 헤더 검사용도
Source IP address 출발지주소
Destination IP address 도착지주소
Options+padding 최대 40bit
- strict source route : 거쳐갈 라우터 순서를 미리 정해놓은것
- loose source route : 다른 경로를 거쳐가도 됨
Flags는 3비트인데
첫번째는 사용하지 않는다
두번째는 do not fragment. 1일경우 단편화X, 0일경우 단편화O
세번째는 more fragment. 1일경우 추가 단편화O, 0일경우 추가 단편화X
IPv6 데이터그램
- 삭제된 항목 : HLEN, Identification, Flags, Fragmentation offset, Header checksum
Header 40byte 고정
VER
Traffic class 서비스 유형.
Flow label 데이터의 특정한 흐름에 대한 처리 제공
payload length 데이터그램의 길이
next header 첫 확장헤더에 뒤따르는 헤더
(확장헤더 : 인증, ESP(IPSec - VPN 공중망을 사설망 쓰듯이 사용))
hop limit TTL과 유사.
source address 128bit
Destination address 128bit
특징비교
IPv4 IPv6
주소길이 : 32비트 / 128비트
표시: 8비트씩 4부분 10진수 / 16비트 8부분 16진수
주소할당: ABCD 클래스단위 비순차 할당 / 규모, 수에 따른 순차할당
헤더길이: 가변 / 고정
보안: IPSec 별도설치 / IPSec 자체지원
사용자 데이터그램 UDP 형식
Header 8 bytes 고정
Source port number : 다중화 관련.
Destination port number
Total length 헤더포함 전체길이
Checksum 오류제어(선택) 출발지와 도착지에서 checksum 비교. 결과는 도착지에서 처리.
TCP 세그먼트 형식
Header 20~60 bytes
Source port number : 다중화 관련.
Destination port number
Sequence number
Acknowledgment number
HLen 가변헤더
Reserved 6bit (UAPRSF)
Window size 흐름제어 관련
Checksum 오류제어(필수)
Urgent pointer
Options and padding
UAPRSF
URG : 긴급. Urgent pointer와 같이 설정.
ACK : 수신자확인 관련. Acknowledgment number와 같이 설정.
PSH : 응용계층에 빨리 전달하고자 할 때
RST : 강제로 연결 초기화
SYN : 연결을 시작하기 위한 비트
FIN : 종료 요청 컨트롤 비트
주요 차이점
TCP UDP
신뢰성: ACK수신 / ACK X
연결: 연결지향적, 가상연결 / 비연결지향적, 가상연결X
패킷순서: 순서번호로 순차수신 / 순서번호X
혼잡제어: 에러&지연 통보 / 흐름제어통보X
사용: 신뢰성이 필요할때 / 신뢰성 불필요할때
속도,오버헤드: 비교적 느림 / 비교적 빠름
복습
전송 계층
: 신뢰성있는 데이터를 주고받게 하여 상위계층이 데이터 전달의 유효성이나 효율성을 신경쓰지 않게 한다
세션계층
: 양 끝단의 응용 프로세스가 통신을 관리하는 방법을 제공한다
데이터 링크 계층
: 신뢰성 있는 전송을 보장하기 위해 16진수 12개로 구성된 MAC 주소 사용
네트워크 계층
: 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할. 라우터를 통한 패킷 포워딩.
인터넷 프로토콜 IP
: IPv4와 IPv6의 첫 번째 필드는 Ver 버전이다
IPv6
: 각 부분은 콜론: 으로 구분되며 16진수로 표현한다. 총 128bit. checksum필드가 제거됨. 헤더 40byte 고정.
TCP Header
: 윈도우 크기, 포트 번호, 순서번호를 포함함
제어용 플래그
: UAPRSF
'네트워크' 카테고리의 다른 글
네트워크1 3차시 (0) | 2024.06.08 |
---|---|
네트워크1 2차시 (0) | 2024.06.02 |
네트워크1 1차시 (0) | 2024.06.01 |
네트워크 기초 7~8 (0) | 2024.03.06 |
네트워크 기초 1~3 (0) | 2024.03.05 |