인터넷 프로토콜 편집하기


편집하면 당신의 IP 주소가 공개적으로 기록됩니다. 계정을 만들고 로그인하면 편집 시 사용자 이름만 보이며, 위키 이용에 여러 가지 편의가 주어집니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
7번째 줄: 7번째 줄:


== 패킷 ==
== 패킷 ==
'''패킷'''(Packet)은 인터넷 프로토콜이 네트워크에 떠내려 보내는 덩어리(PDU) 단위로, 한국어로 하면 "[[소포]]"가 된다.
'''패킷'''(Packet)은 인터넷 프로토콜이 네트워크에 떠내려 보내는 덩어리(PDU) 단위로, 한국어로 하면 "[[소포]]"가 된다.  


패킷의 첫머리인 "헤더"에는 버전에 따라 상이하나 대체로 다음과 같은 내용이 담긴다. 헤더는 통상 20바이트(v4)/40바이트(v6) 크기로 잡히며, 옵션이 추가로 지정되는 경우 좀 더 늘어난다. 이더넷의 최대 MTU에 맞춰 헤더를 뺀 페이로드는 1460bytes로 본다.
패킷의 첫머리인 "헤더"에는 버전에 따라 상이하나 대체로 다음과 같은 내용이 담긴다. 헤더는 통상 20바이트(v4)/40바이트(v6) 크기로 잡히며, 옵션이 추가로 지정되는 경우 좀 더 늘어난다.
* 버전
* 버전
*: 이 패킷을 생성한 프로토콜의 버전을 명시한다.
*: 이 패킷을 생성한 프로토콜의 버전을 명시한다.
* 패킷 길이
* 패킷 길이
*: 패킷의 용량을 명시해두었다. 보통 하위 계층인 이더넷의 덩어리에 맞춰 1480byte를 최대 크기로 잡는다. 최대 65,536byte까지 커질 수 있다.
*: 패킷의 용량을 명시해두었다. 보통 하위 계층인 이더넷의 덩어리에 맞춰 1500byte를 최대 크기로 잡는다. 최대 65,536byte까지 커질 수 있다.
 
* Time to Live(v4)/Hop Limit(v6)
* Time to Live(v4)/Hop Limit(v6)
*: 패킷의 수명을 명시해두었다. [[라우터]]는 패킷이 들어오면 이 숫자를 1 까고 다음 라우터나 호스트에게 넘겨주며, 이 숫자가 0까지 소진되면 패킷이 폐기되며 ICMP를 통해 출발지 호스트에 보고된다. 이는 유령 패킷이 계속 네트워크를 떠돌면서 부하를 만드는 일을 막기 위함이다.
*: 패킷의 수명을 명시해두었다. [[라우터]]는 패킷이 들어오면 이 숫자를 1 까고 다음 라우터나 호스트에게 넘겨주며, 이 숫자가 0까지 소진되면 패킷이 폐기되며 ICMP를 통해 출발지 호스트에 보고된다. 이는 유령 패킷이 계속 네트워크를 떠돌면서 부하를 만드는 일을 막기 위함이다.
* 프로토콜 식별자(Next header)
* 프로토콜 식별자(Next header)
*: 이 패킷의 내용물이 어느 프로토콜에서 내려온 것인지 명시한 것이다. 즉, 도착지 호스트는 패킷의 이 부분을 보고 데이터를 올려줄 프로토콜을 확인하는 것이다.
*: 이 패킷의 내용물이 어느 프로토콜에서 내려온 것인지 명시한 것이다. 즉, 도착지 호스트는 패킷의 이 부분을 보고 데이터를 올려줄 프로토콜을 확인하는 것이다.
* 출발지·도착지 호스트 주소
* 출발지·도착지 호스트 주소
*: [[IP 주소]]가 기록되는 부분. 이더넷의 프레임에서는 출도착지의 주소가 물리 경로에 따라 계속 바뀌지만, 패킷의 IP 주소는 논리적이므로 계속 고정되어 있다. 라우터는 이 부분을 참고하여 라우팅한다.
*: [[IP 주소]]가 기록되는 부분. 이더넷의 프레임에서는 출도착지의 주소가 물리 경로에 따라 계속 바뀌지만, 패킷의 IP 주소는 논리적이므로 계속 고정되어 있다. 라우터는 이 부분을 참고하여 라우팅한다.
24번째 줄: 28번째 줄:
라우팅은 [[IP주소]]를 보고 라우터가 경로를 결정하는 작업을 말한다. 데이터그램 통신망 특성상 라우터 자체는 패킷의 전체 경로를 결정할 수 없고, 최대한 견고하고 가까운 다음 경유지를 지정해주기만 한다.
라우팅은 [[IP주소]]를 보고 라우터가 경로를 결정하는 작업을 말한다. 데이터그램 통신망 특성상 라우터 자체는 패킷의 전체 경로를 결정할 수 없고, 최대한 견고하고 가까운 다음 경유지를 지정해주기만 한다.


라우터와 라우터 사이는 2계층 기준으로 [[이더넷]]으로 연결 되어 있을 수도 있고, [[프레임 릴레이]]로 연결되어 있을 수도 있고, [[PPP]]로 연결되어 있을 수도 있다. 하위 계층의 PDU에 기록된 출도착지는 경유지를 지나칠 때마다 바뀌지만, 그 안에 포장된 IP의 패킷은 하위 계층의 PDU에 실려가기만 하므로 그 내용이 불변한다. 그래서 라우터는 패킷에 기록된 주소만 참고하여 다음 연결 노드를 결정할 수 있다.
라우터와 라우터 사이는 2계층 기준으로 [[이더넷]]으로 연결 되어 있을 수도 있고, [[프레임 릴레이]]로 연결되어 있을 수도 있고, [[PPP]]로 연결되어 있을 수도 있다. 하위 계층의 PDU에 기록된 출도착지는 경유지를 지나칠 때 마다 바뀌지만, 그 안에 포장된 IP의 패킷은 하위 계층의 PDU에 실려가기만 하므로 그 내용이 불변한다. 그래서 라우터는 패킷에 기록된 주소만 참고하여 다음 연결 노드를 결정할 수 있다.


이 과정에는 라우팅 프로토콜이 관여하며, 라우팅 프로토콜은 나름의 기준에 따라 효율적인 경로를 잡는데 노력한다. 단, IP의 특성상 노력만 하지 신뢰적인 무언가를 제공해주는 것은 아니다. 아무튼 [[IP 주소]] 체계에 따라 라우터는 쥐고 있는 패킷이 상위 네트워크로 나가야 하는 건지, 이웃 네트워크로 전달해줘야 하는 것인지, 하위 네트워크로 내려가야 하는 것인지 결정하며 이를 전달받은 라우터는 같은 고민을 하며 패킷의 경로를 결정하며 이것이 이어져서 도착지 호스트까지 패킷이 전달된다.
이 과정에는 라우팅 프로토콜이 관여하며, 라우팅 프로토콜은 나름의 기준에 따라 효율적인 경로를 잡는데 노력한다. 단, IP의 특성상 노력만 하지 신뢰적인 무언가를 제공해주는 것은 아니다. 아무튼 [[IP 주소]] 체계에 따라 라우터는 쥐고 있는 패킷이 상위 네트워크로 나가야 하는 건지, 이웃 네트워크로 전달해줘야 하는 것인지, 하위 네트워크로 내려가야 하는 것인지 결정하며 이를 전달받은 라우터는 같은 고민을 하며 패킷의 경로를 결정하며 이것이 이어져서 도착지 호스트까지 패킷이 전달된다.
33번째 줄: 37번째 줄:
** 유니캐스트: 1:1 통신을 말한다.
** 유니캐스트: 1:1 통신을 말한다.
** 멀티캐스트: 多:多 혹은 1:多 통신을 말하며 대표적으로 [[IPTV]]가 있다.
** 멀티캐스트: 多:多 혹은 1:多 통신을 말하며 대표적으로 [[IPTV]]가 있다.
** [[브로드캐스트]]: 전역 호출 통신이다.
** 브로드캐스트: 전역 호출 통신이다.
 
* 버전 6 (IPv6)
* 버전 6 (IPv6)
*: 버전 6은 [[1998년#12월|1998년 12월]]에 RFC 2460을 통해 발표되었다. IPv4의 주소고갈 문제, 비효율적인 라우팅 문제 등을 타파하고 [[유비쿼터스]]나 [[사물인터넷]]의 등장에 대비한 표준이다.
*: 버전 6은 [[1998년#12월|1998년 12월]]에 RFC 2460을 통해 발표되었다. IPv4의 주소고갈 문제, 비효율적인 라우팅 문제 등을 타파하고 [[유비쿼터스]]나 [[사물인터넷]]의 등장에 대비한 표준이다.
44번째 줄: 49번째 줄:
* ICMP
* ICMP
*: Internet Control Message Protocol(인터넷 제어 메시지 프로토콜)은 효율적인 IP 라우팅을 위해 정보를 수집하거나, 오류를 보고하는 프로토콜을 말한다. [[ping]]도 대표적인 ICMP의 기능 중 하나다.
*: Internet Control Message Protocol(인터넷 제어 메시지 프로토콜)은 효율적인 IP 라우팅을 위해 정보를 수집하거나, 오류를 보고하는 프로토콜을 말한다. [[ping]]도 대표적인 ICMP의 기능 중 하나다.
* IGMP
* IGMP
*: Internet Group Management Protocol(인터넷 그룹 관리 프로토콜)은 멀티캐스트를 관리하는 프로토콜로, 호스트의 그룹 가입, 탈퇴, 보고 등을 담당하는 프로토콜이다.
*: Internet Group Management Protocol(인터넷 그룹 관리 프로토콜)은 멀티캐스트를 관리하는 프로토콜로, 호스트의 그룹 가입, 탈퇴, 보고 등을 담당하는 프로토콜이다.
* ARP/RARP
* ARP/RARP
*: Address Resolution Protocol(주소 해석 프로토콜)은 2계층(데이터링크 계층)에서 IP 주소가 어느 MAC 주소와 매칭되어 있는지 질의하는 프로토콜이다. 2계층은 MAC주소를 알아야 통신이 가능하기 때문에 반드시 필요한 프로토콜이다. Reverse ARP(RARP)는 역방향 질의를 말한다.
*: Address Resolution Protocol(주소 해석 프로토콜)은 2계층(데이터링크 계층)에서 IP 주소가 어느 MAC 주소와 매칭되어 있는지 질의하는 프로토콜이다. 2계층은 MAC주소를 알아야 통신이 가능하기 때문에 반드시 필요한 프로토콜이다. Reverse ARP(RARP)는 역방향 질의를 말한다.
* NS
* NS
*: Name Service(이름 서비스)는 특정 문자열과 IP 주소를 매칭해주는 프로토콜로 응용 계층 프로토콜에 해당한다. [[NetBIOS]], [[DNS]] 등이 여기에 속한다.
*: Name Service(이름 서비스)는 특정 문자열과 IP 주소를 매칭해주는 프로토콜로 응용 계층 프로토콜에 해당한다. [[NetBIOS]], [[DNS]] 등이 여기에 속한다.
* [[DHCP]]/BOOTP/APIPA
* [[DHCP]]/BOOTP/APIPA
*: [[IP 주소]] 설정을 자동화해주는 프로토콜로 응용 계층 프로토콜에 해당한다.
*: [[IP 주소]] 설정을 자동화해주는 프로토콜로 응용 계층 프로토콜에 해당한다.
리브레 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포됩니다(자세한 내용에 대해서는 리브레 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
글이 직접 작성되었거나 호환되는 라이선스인지 확인해주세요. 리그베다 위키, 나무위키, 오리위키, 구스위키, 디시위키 및 CCL 미적용 사이트 등에서 글을 가져오실 때는 본인이 문서의 유일한 기여자여야 하고, 만약 본인이 문서의 유일한 기여자라는 증거가 없다면 그 문서는 불시에 삭제될 수 있습니다.
취소 편집 도움말 (새 창에서 열림)

| () [] [[]] {{}} {{{}}} · <!-- --> · [[분류:]] · [[파일:]] · [[미디어:]] · #넘겨주기 [[]] · {{ㅊ|}} · <onlyinclude></onlyinclude> · <includeonly></includeonly> · <noinclude></noinclude> · <br /> · <ref></ref> · {{각주}} · {|class="wikitable" · |- · rowspan=""| · colspan=""| · |}

이 문서에서 사용한 틀: