300x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- google coding competition
- 파이썬
- CSS
- 동적프로그래밍
- 그래프
- kick start
- 순열
- 코딩테스트
- 백준
- 알고리즘
- AI
- 코딩
- 브루트포스
- BFS
- 프로그래밍
- 구글 킥스타트
- 딥러닝
- dp
- 동적 프로그래밍
- 리눅스
- DFS
- 프로그래머스
- OS
- linux
- 네트워크
- 코딩 테스트
- PYTHON
- 킥스타트
- nlp
- 운영체제
Archives
- Today
- Total
오뚝이개발자
[네트워크] CH12 인터넷 프로토콜 IP 본문
728x90
300x250
학습 목차
- IP 패킷의 형태
- 헤더에 포함된 다양한 필드에 대한 설명
- 단편화와 옵션
- MTU의 의미와 단편화의 필요성
- 단편화의 구체적 방법
- IP 패킷의 옵션 종류와 의미
IP(Internet Protocol)
- 인터넷 프로토콜인 IP는 비신뢰성(unreliable), 비연결형(connectionless) 데이터그램 프로토콜이다
- best-effort 전달 서비스를 제공(최선을 다해 패킷을 보내지만 못갈 수도 있다)
- 에러제어나 흐름제어가 없다
- 에러검출만 하고 만약 발견되면 폐기한다
- 신뢰성이 중요한 전송에서는 TCP를 함께 사용해야 한다(이를 TCP/IP라고 부름)
- IP에서 패킷을 데이터그램이라고도 한다
- 헤더의 크기는 20~60바이트로 가변적
IP 패킷의 필드
- 버전(Version:VER)
- IP프로토콜의 버전을 나타내는 것으로 4 혹은 6이 될 수 있다
- 헤더의 크기(Header length:HLEN)
- 헤더의 크기를 나타내는 것으로, 4바이트 단위로 나타낸 크기다(HLEN이 5라면 20바이트라는 뜻)
- 헤더의 크기는 20~60바이트로 가변
- 서비스
- IP패킷이 가져야 하는 서비스의 형태를 의미(즉, 응용서비스들이 요구하는 서비스의 형태)
- 서비스의 형태는 응용서비스별로 주요하게 다루어야 할 특성으로 지연시간, 신뢰성, 처리량 등 어떤 특성을 고려해야 할지 명시한다.
- 전체길이(Total length)
- IP 데이터그램을 바이트 단위로 나타낸 전체 길이
- 생존시간(Time to live : TTL)
- IP 데이터그램이 지나가는 최대 홉(hop) 수
- 각 라우터는 데이터그램이 지나갈 때마다 1씩 감소시킴
- 0이 되면 라우터는 해당 데이터그램을 폐기
- TTL 필드의 필요성 : 복잡한 네트워크 탓에 라우팅이 제대로 이루어지지 않는 경우 패킷은 목적지에 도달 못하고 계속해서 네트워크를 돌게 됨. 이 경우, 해당 패킷이 사라지지 않고 계속 쌓인다면 대역폭 잡아먹고 네트워크 장비들이 쓸데없이 바빠져 나중엔 느려진다
- 프로토콜
- IP계층 위에서 존재하는 상위 프로토콜이 무엇인지를 나타냄(아래 사진에서처럼 ICMP, IGMP, SCTP, TCP, UDP, OSPF 중 누구에게 보낼지를 나타냄)
- IP가 해당 데이터를 맞게 보낼 수 있도록 정보를 제공
- 체크섬(Checksum)
- IP패킷의 헤더에 대한 오류검사를 위해 사용되며, 헤더에 에러가 나면 폐기시킴
- 계산법
- 처음에 체크섬의 값을 0으로 한다
- 전체 헤더를 16비트 단위로 구분해 1의 보수 연산 수행
- 결과값을 보수로 만들어 체크섬 필드에 저장
- 송신지 주소, 목적지 주소(Source IP add., Destination IP add.)
- 송신자와 수신자의 IP 주소
- 플래그(Flag)
- 3비트로 구성되며 첫 번째 비트는 사용하지 않는다
- 두번째 비트(d-bit)는 단편화 금지(do not fragment bit)를 의미 - MTU를 초과해 잘라야 하는 상황이 오면 폐기
- 세번째 비트(m-bit)는 단편이 더 있다(more fragment bit)는 것을 의미
- 단편화 위치값(Fragmentation offset)
- 13비트로 구성되어 있으며, 전체 패킷에서 해당 단편이 차지하는 위치값을 의미
- 위치값은 첫번째부터 시작하여 8바이트 단위로 표시
단편화
- 프레임의 크기와 형태는 네트워크에 따라 다를 수 있다.
- IP패킷은 여러 네트워크를 경유하기 때문에 다양한 데이터링크 프로토콜을 거쳐갈 수 있다
- IP패킷은 네트워크가 수용할 수 있는 크기로 분할되어야 하는데, 이를 단편화(fragmentation)이라 한다.
- IP패킷이 프레임으로 만들어질 때, 전체 크기는 데이터링크 프로토콜에서 수용하는 최대 크기보다 작아야 한다
- 이를 MTU(Maximum Transfer Unit)이라 함
728x90
300x250
'CS 기초 > 네트워크' 카테고리의 다른 글
[네트워크] CH14 패킷전달과 라우팅 (0) | 2020.11.13 |
---|---|
[네트워크] CH13 주소매핑과 에러보고 (0) | 2020.11.13 |
[네트워크] CH11 서브넷, 슈퍼넷, 가변길이 주소지정 (0) | 2020.11.13 |
[네트워크] CH10 네트워크 프로토콜과 주소 지정 (0) | 2020.11.12 |
[네트워크] CH9 이동전화와 위성네트워크 (0) | 2020.11.12 |
Comments