7. TCP와 UDP의 차이에 대해 설명해 주세요.
- TCP의 특징은 다음과 같습니다.
- 연결형 프로토콜입니다. 즉, 신뢰성을 보장하기 위한 방식을 채택해 동작합니다.
- 이로 인해 3-way handshaking으로 연결을 설정하고 4-way handshaking으로 연결을 종료합니다.
- 3-way handshaking : SYN -> ACK/SYN -> SYN
- 4-way handshaking : FIN -> ACK -> FIN -> SYN
- 데이터의 처리 속도를 조절해 수신자의 버퍼 오버플로우를 방지하는 흐름 제어를 지원합니다.
- 네트워크 내에 패킷 수를 제어해 과도하게 증가하는 것을 방지하는 혼잡 제어를 지원합니다.
- 전이중이자 점대점 방식이라고 할 수 있습니다.
- 전이중 : 전송이 양방향으로 이뤄진다.
- 점대점 : 정확히 2개의 종단점을 가진 연결이다.
- UDP의 특징은 다음과 같습니다.
- 비연결형 프로토콜입니다. 이는 신뢰성을 보장하지 않고 속도의 향상에 집중한 방식입니다.
- 그래서 연결 확인과 같은 절차가 없습니다.
- 두 프로토콜의 트레이드 오프는 다음과 같습니다.
- TCP : 연결에 대한 높은 안정성과 신뢰성 보장 / 이에 따른 절차로 인해 느린 성능
- UDP : 연결 결과에 대한 보장을 하지 않는 위험성 / 빠른 성능
왜 HTTP는 TCP를 사용하나요?
- 위에서 설명했듯이 높은 신뢰성을 중요하게 생각하기 때문입니다.
- 연결에 대한 결과를 보장하지 않고 전송 상태에 대한 제어를 하지 않는다면 수많은 에러를 배출해내고 나은 서비스를 제공할 수 없기에 TCP를 선택했다고 생각합니다.
그렇다면, 왜 HTTP/3 에서는 UDP(QUIC) 를 사용하나요? 위에서 언급한 UDP의 문제가 해결되었나요?
- TCP가 가지는 한계점을 극복하기 위해 UDP와 QUIC을 사용합니다.
- TCP의 한계점은 다음과 같습니다.
- 핸드쉐이크 과정으로 인한 오버헤드
- HOL Blocking으로 인한 성능 저하
- 하지만 위와 같은 한계는 TCP 내에서 성능 최적화를 통해 해결하기 힘듭니다. 헤더가 이미 가득 찬 상태로 사용되기 때문입니다.
- 그래서 HTTP/3는 UDP를 활용해 핸드쉐이크 절차를 없애 성능을 향상시키고 QUIC이라는 프로토콜을 함께 사용해 TCP처럼 신뢰성을 보장하는 방식을 제공합니다.
- QUIC이 제공하는 신뢰성 보장 방식과 장점은 다음과 같습니다.
- 첫 연결에서 필요한 데이터를 함께 보내고 성공하면 그 연결 정보를 캐싱해두기 때문에 이론상 0-RTT를 제공합니다.
- 독립 스트림에서 발전된 멀티 플렉싱을 제공합니다. 독립적인 스트림을 가지므로 대기에 대한 문제가 발생하지 않습니다.
본인이 새로운 통신 프로토콜을 TCP나 UDP를 사용해서 구현한다고 하면, 어떤 기준으로 프로토콜을 선택하시겠어요?
- 빠른 구현을 해야 한다면 이미 많은 기능과 절차가 구현되어 있고 동작하는 TCP가 적합하다고 생각합니다.
- 반면에 성능적인 최적화가 필요하고 그 과정에서 커스터마이징 작업을 해야하거나 그럴 수 있는 시간적 여유가 있다면 UDP를 고려해볼 수 있을 것 같습니다.
Checksum이 무엇인가요?
- 전송되는 패킷 또는 세그먼트의 데이터가 변조되거나 깨지는 경우를 확인하는 간단한 절차를 의미합니다.
- 송신측에서, 전송할 모든 데이터를 16 비트 워드 단위로 구분하고,
- 1의 보수를 취하고, 그 합에 대한 결과를 전송하면,
- 수신측에서, 같은 합을 해보아서 오류를 검출하는 방식으로 동작합니다.
TCP와 UDP 중 어느 프로토콜이 Checksum을 수행할까요?
- TCP와 UDP 모두 Checksum을 위한 공간이 별도로 존재하며 변조에 대한 확인을 위해 Checksum을 진행합니다.
- 또한 TCP는 필수적 / UDP는 선택적으로 Checksum을 진행할 수 있습니다.
그렇다면, Checksum을 통해 오류를 정정할 수 있나요?
- TCP에서 손상된 세그먼트가 검출될 경우, 재전송하게 됩니다.
- 이렇게 되면 해당 세그먼트가 수신측 버퍼에 도착하지 않기 때문에 송신측 타이머가 만료되게 되면서 재전송이 진행됩니다.
- 오류 정정보단 재시도는 가능하다고 생각합니다.
TCP가 신뢰성을 보장하는 방법에 대해 설명해 주세요.
- TCP는 세그먼트가 정상적으로 수신 대상자에게 전달된다면 그에 따른 응답을 받게 되어 있습니다.
- 만약 그 응답이 오지 않는다면 송신 측에선 정상적인 처리가 되지 않았다고 판단해 재전송을 진행하게 됩니다.
- 세그먼트에 대한 정상 여부 판단은 Checksum을 통해 판단합니다.
- 문제가 있다면 TCP flag 중 ACK Flag를 reset(0)으로, 정상적이라면 set(1)로 보내고, SYN 과정에서 받은 데이터에 + 1을 한 값을 함께 전달합니다.
- 또한, 세그먼트에 순서를 보장하기 위한 번호(Sequence Number)를 보낼 때 지정하고 수신 측의 버퍼 내에서 정렬해 저장합니다.
TCP의 혼잡 제어 처리 방법에 대해 설명해 주세요.
- AIMD
- Additive Increase & Multicative Decrease의 약자로, 합 증가 & 곱 감소라는 의미입니다.
- 처음에 패킷을 하나씩만 보내고 문제없이 해당 패킷이 도착하면 윈도의 크기를 증가시켜 전송합니다.
- 만약 전송 실패가 발생할 경우 윈도우의 크기를 반으로 줄입니다.
- 윈도우의 크기를 너무 조금씩 늘리기 때문에 네트워크의 대역을 제대로 활용하여 속도를 내기엔 시간이 걸린다는 단점이 있습니다.
- Slow Start
- 윈도우의 크기를 지수적으로 증가하다가 혼잡이 감지되면 1로 줄이는 방법입니다.
- 윈도우의 크기가 처음에는 조금 느리게 증가하지만, 시간이 지날수록 윈도우의 크기가 빠르게 증가한다는 장점이 있습니다.
AIMD, Slow Start를 사용하면서 네트워크의 혼잡이 자주 발생하면 윈도우의 크기가 크게 감소하고 네트워크의 전송률이 매우 떨어집니다. 따라서 TCP에는 패킷을 재전송하는 기법들이 존재합니다. 이들 역시 혼잡제어 기법의 일종입니다.
- Fast Retransmit
- 수신 측은 먼저 도착해야하는 패킷이 도착하지 않고 다음 패킷이 도착한 경우에도 응답(ACK)를 보냅니다.
- 단, 순서대로 도착한 마지막 패킷의 다음 패킷 순번을 응답 패킷에 실어서 보내기 때문에 송신 측은 순번이 중복된 응답 패킷을 받게되고, 이러한 중복 패킷을 3번 감지하면 문제가 되는 순번의 패킷을 재전송해줄 수 있습니다.
- Fast Recovery
- 혼잡한 상태가 되면 윈도우의 크기를 1로 줄이지않고 반으로 줄인 다음 선형적으로 증가시키는 기법입니다. 이 기법을 적용하면 혼잡상황을 겪고난 후에는 AIMD와 같은 방식으로 동작합니다.
윈도우 : 하나의 통신 내에서 성공 응답없이 보낼 수 있는 패킷의 수를 의미합니다.
추가적으로 Tahoe, Reno 방식이 있으며 이 둘은 AIMD와
8. DHCP가 무엇인지 설명해 주세요.
- 네트워크 내에서 사용하는 여러 클라이언트, 장치들이 동일한 IP 주소를 가지지 않도록 동적으로 할당해주는 프로토콜을 DHCP라고 합니다.
- DHCP를 사용하게 되면 사용자가 직접 사용하지 않는 IP 주소를 지정하는 과정과 지정하기 위해 필요한 다른 여러 정보들을 가지고 있지 않아도 원활환 네트워크 환경 구성이 가능해집니다.
- 또한 할당된 IP 주소는 유한한 임대 기간을 가집니다.
DHCP는 몇 계층 프로토콜인가요?
- 사용자가 네트워크 자원에 접근하는 방법을 제공한다는 점에서 어플리케이션 계층이라고 할 수 있습니다.
- 추가로 UDP를 사용해 동작하지만 포트 번호는 어플리케이션에 해당하는 포트 번호를 사용합니다.
DHCP는 어떻게 동작하나요?
- 라우터, 공유기는 DHCP Server라는 프로그램을 내장하고 있습니다. 서버는 네트워크 연결 요청이 왔을 때, 사용하지 않는 IP 주소를 찾아 제공해주는 역할을 합니다.
- 각각의 인터넷을 사용하는 장비들을 반대로 DHCP Client라는 프로그램을 내장하고 있습니다. 클라이언트가 네트워트 연결을 시도할 때 DHCP Server로 부터 IP주소를 요청하게 됩니다.
- 또한 각각의 장비들은 생산시 고유한 식별자를 가지고 있기 때문에 장비들에 대한 구분과 식별을 이 식별코드로 진행합니다. 이 식별자는 MAC 주소라고 합니다.
- 실제 동작 순서는 다음과 같습니다.
- Discover(Client -> Server) : Client의 MAC 주소와 함께 IP 주소 할당 요청을 보냅니다.
- Offer(Server -> Client) : Server의 할당 가능한 IP주소와 서브넷 마스크, 기본 게이트웨이 주소, DNS IP 주소, 임대 시간 등 네트워크 연결에 필요하고 할당 가능한 데이터를 전달합니다.
- Request(Client -> Server) : Server가 전달해준 IP 주소 중 사용할 IP 주소를 선택해 알려줍니다.
- Ack(Server -> Client) : Server가 Client의 요청을 받았고 그에 따른 인지가 되었다는 정보를 알려줍니다.
DHCP에서 UDP를 사용하는 이유가 무엇인가요?
- 단순한 형태의 패킷을 주고 받은 방식으로 동작하기 때문에 상대적으로 큰 대역폭을 사용하는 것이 비효율적일 수 있습니다.
- 또한 일시적으로 서버와 클라이언트가 연결해 데이터를 주고 받고 종료하는 경우가 많지 않으므로 단순한 형태의 비연결적 방식이 적합합니다.
- 네트워크 연결을 위한 사전 작업으로 활용되므로 신뢰성 보장보단 신속하고 빠른 처리 속도가 더 중요합니다.
DHCP에서, IP 주소 말고 추가로 제공해주는 정보가 있나요?
- 서브넷 마스크
- IP주소에서 네트워크 주소와 호스트 주소의 범위를 지정하고 구분하기 위해 사용되는 값입니다.
- 네트워크 주소는 호스트들의 집합을 의미하는 주소이며 호스트는 각각의 통신 장비에 할당되는 번호입니다.
- 만약 서브넷마스크가 255.255.255.0 이라는 것은 2진법으로 풀어보면 11111111.11111111.11111111.00000000 이며 여기서 1에 해당하는 범위까지가 네트워크 주소에 사용되는 비트수이고 0에 해당하는 범위가 호스트 주소에 사용되는 범위를 의미합니다.
- 네트워크 주소와 호스트 주소는 목적과 상황에 따라 변경될 수 있으므로 서브넷 마스크를 함꼐 명시해야 정확한 네트워크에 포함된 호스트로 접근할 수 있습니다.
- 기본 게이트웨이
- 로컬이 아닌 다른 네트워크의 호스트와 통신해야 하는 경우 사용되는 기본 IP주소를 의미합니다.
- 다른 네트워크에서 접근하는 경우 기본 게이트웨이로 라우팅하게 됩니다.
- DNS 서버
- 도메인 이름과 IP주소 간 매핑 정보 제공하는 서버를 의미합니다.
- 그 외에도 IP주소 대여 기간, 클라이언트 식별자(MAC), 클라이언트의 운영 체제 등을 제공합니다.
DHCP의 유효기간은 얼마나 긴가요?
- 유효기간이 짧거나 긴 경우 어떠한 문제가 발생하는지 보면 다음과 같습니다.
- 대여 기간이 짧으면 빈번한 IP 주소 변경 작업이 발생해 네트워크 성능 저하될 수 있습니다.
- 반대로 대여 기간이 길다면 IP 주소가 사용되지 않는 기간이 늘어나 낭비되는 경우가 발생할 수 있고 IP 주소를 요구하는 호스트가 많음에 따라 부족 현상도 발생할 수 있습니다.
- 유효기간은 위와 같은 특징을 고려하면서 사용자가 사용 목적, 환경, 상황에 따라 다르게 지정할 수 있습니다.
9. IP 주소는 무엇이며, 어떤 기능을 하고 있나요?
- IP 주소는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호(wiki)라고 할 수 있습니다.
- OSI 7 계층 중 3계층인 네트워크 계층에 포함되며 8비트씩 4개의 구역으로 나눠진 32비트로 주소를 표현하며 네트워크 주소와 호스트 주소로 구분됩니다.
- 디지털 주소 역할을 수행하면서 데이터를 주고받을 수 있도록 해줍니다.(기능이라고 할 내용은 없지 않나…)
IPv6는 IPv4의 주소 고갈 문제를 해결하기 위해 만들어졌지만, 아직도 수많은 기기가 IPv4를 사용하고 있습니다. 고갈 문제를 어떻게 해결할 수 있을까요?
- Private Network(사설망)의 등장으로 고갈 문제를 해결했습니다.
- 즉, 각각의 장비가 외부로 통신이 가능한 IP 주소를 할당해주는 것이 아니라 하나의 공유기 내에서만 사용할 수 있는 IP 주소를 할당하고 사용하는 것을 의미합니다.
- 사설망에서 사용하는 IP는 절대로 공인 인터넷에서 사용이 불가능합니다.
- 사설망을 통해 이로 인해 공인 인터넷에서 사용할 수 있는 IP의 수요를 절약할 수 있게 되었습니다.
- 하지만 사설망 IP 주소를 공인 인터넷을 사용할 수 없으므로 공인 IP로 변환해줘야 하는 소요가 발생했습니다.
- 이 역할을 수행하는 것에 NAT(Network Address Translation)입니다.
- NAT의 역할은 다음과 같습니다.
- 외부로 요청을 보내는 장치의 사설 IP주소를 저장
- 사설 IP 주소를 공인 IP로 변환
- 이후 외부 네트워크의 응답 또한 변환해준 공인 IP로 전달받고 NAT가 다시 사설 IP로 변환해주면서 원활환 통신이 가능하게 해줍니다.
IPv4와 IPv6의 차이에 대해 설명해 주세요.
- 많은 차이점이 있지만 주요 차이점은 다음과 같습니다.
- 주소 길이 : 32비트를 사용하는 IPv4에서 IPv6는 128비트를 사용합니다. 이로 인해 1조 개의 가까운 주소를 할당할 수 있습니다.
- 주소 표현 방법 : IPv4는 콜론(.)으로 구분하고 IPv6는 이중 콜론(:)으로 구분합니다.
- NAT 사용 여부 : 주소 고갈문제를 해결하기 위해 사용되는 NAT를 IPv6에선 사용하지 않고 직접 공인 인터넷에 연결할 수 있습니다.
- 헤더 길이 : IPv4는 옵션 내용에 따라 20-60 바이트로 가변적인 크기를 가지는 반면, IPv6는 40 바이트로 고정 크기고 상대적으로 헤더 내용이 간단합니다.
- 주소 유형 : IPv4는 유니캐스트, 멀티캐스트, 브로드캐스트 주소를 지원하며 IPv6는 유니캐스트, 멀티캐스트, 애니캐스트 주소를 지원합니다.
- 유니캐스트 : 1대1
- 브로드캐스트 : 1대다
- 멀티캐스트 : 1대그룹
- 애니캐스트 : 1대가까운1
IPv4를 사용하는 장비와 IPv6를 사용하는 같은 네트워크 내에서 통신이 가능한가요? 가능하다면 어떤 방법을 사용하나요?
- 듀얼 스택
- IPv4와 IPv6를 모두 지원하는 방식입니다.
- 동작 우선순위를 결정할 때에는 목적지 주소의 형태에 따라 결정되며 방식 모두 지원할 경우 송신 측 우선순위에 따라 통신 방식을 선택합니다.
- 터널링
- IPv4를 사용하는 라우터들 사이에서 IPv6 데이터그램이 IPv4 데이터그램 안에 payload로써 이동되어지도록 IPv6를 IPv4로 캡슐화하는 기법입니다.
- 헤더 변환
- IPv6 시스템이 IPv4 수신자가 이해할 수 있거나 그 반대로 헤더 정보를 전환해주는 기법입니다.
- NAT처럼 전환된 데이터를 별도로 관리하고 변경해주면서 통신이 원활하도록 지원합니다.
IP가 송신자와 수신자를 정확하게 전송되는 것을 보장해 주나요?
- IP 자체로는 신뢰성을 보장하지 않습니다. 그래서 TCP와 같은 데이터 전송의 신뢰성을 보장하기 위한 추가적인 장치가 필요합니다.
- 하지만 정확한 도착지로 전달되는 것을 보장하지는 않지만 Checksum을 통해 전달 과정에서 패킷 헤더의 변조 여부에 대한 간단한 검사는 가능합니다.
IPv4에서 수행하는 Checksum과 TCP에서 수행하는 Checksum은 어떤 차이가 있나요?
- IPv4는 패킷의 헤더에 대한 무결성을 보장하기 위해 헤더값을 가지고 Checksum을 진행합니다.
- TCP는 세그먼트의 헤더 및 데이터값을 가지고 Checksum을 진행합니다.
- 둘의 가장 큰 차이점은 Checksum을 진행하는 대상 및 범위에서 차이가 있다고 볼 수 있습니다.
TTL(Hop Limit)이란 무엇인가요?
- TTL(IPv4) 또는 Hop Limit(IPv6)은 IP 패킷 전달에 대한 생존 시간이며 인터넷에서 IP 패킷이 라우팅되며 남아있는(거쳐야 할) 라우터의 갯수를 표현하는 수를 의미합니다.
- TTL은 IP 패킷 헤더 내 8비트 크기로 포함되며 라우터는 IP 패킷을 라우팅할 때 마다 TTL의 값을 감소시킵니다.
- 만약 TTL이 0인 패킷을 받은 라우터는 해당 패킷을 폐기시킵니다.
- TTL 크기 최대값은 255인 8비트입니다.
IP 주소와 MAC 주소의 차이에 대해 설명해 주세요.
- IP 주소는 논리적인 주소이며 MAC 주소는 물리적인 주소라고 할 수 있습니다. 이로 인해 IP 주소는 변경이 가능하지만 MAC 주소는 변경이 불가능합니다.
- IP 주소는 네트워크 상에서 컴퓨터의 연결 상태를 식별하는데 사용된다면 MAC 주소는 네트워크 상의 컴퓨터 자체를 식별하는데 사용됩니다.
- IP 주소는 네트워크 계층(3)에 속하며 MAC 주소는 데이터 링크 계층(2)에 속합니다.
10. OSI 7계층에 대해 설명해 주세요.
- OSI 7 계층(OSI 7 Layer)는 네트워크 내에서 컴퓨터와 컴퓨터가 통신하는데 이뤄지는 복잡한 과정을 기능별로 7계층으로 분리시킨 모델을 의미합니다.
- 각각의 계층은 상호 독립적으로 동작하면서 모든 계층이 정상적으로 동작해야 정상적인 통신이 가능합니다.
- 그리고 독립적이기 때문에 통신의 문제가 발생하면 어느 계층의 문제인지 빠르게 진단하고 해결할 수 있습니다.
- 각 계층은 다음과 같습니다.
- 물리 계층(Physical Layer)
- 0과 1의 비트열로 전기적 신호 상태의 트래픽을 전달하는 계층입니다.
- 이더넷 케이블이나 와이파이와 같이 실제 물리적인 매체들이 물리 계층에 속합니다.
- 데이터 링크 계층(Data link Layer)
- 물리적인 네트워크를 통해 데이터를 전송하는 수단을 제공하며 1홉 통신을 담당한다고도 표현합니다. 홉이라는 것은 출발지와 목적지 사이에 존재하는 경로를 의미합니다.
- 즉, 중간 거점 간의 이동을 담당합니다.
- MAC 주소가 데이터 링크 계층에서 사용됩니다. 목적지로 가기 위한 물리적인 주소를 의미합니다.
- MAC 주소는 컴퓨터 구성 하드웨어 중 NIC(Network Interface Card)가 생성될 때 부여되며 NIC가 MAC 주소에서 다음 MAC 주소로 프레임을 전달하는 역할을 합니다.
- 네트워크 계층(Network Layer)
- End-To-End로 패킷을 전달하는 계층입니다. 즉, 출발지에서 전달할 최종 도착지의 위치를 식별하고 최적의 경로를 지정해 패킷을 전달하는 역할을 합니다.
- 도착지의 위치는 논리적인 주소로 IP 주소로 표현합니다.
- IP 주소를 통해 인터넷에 연결되어 있는 모든 컴퓨터의 주소를 식별할 수 있습니다.
- 라우터가 네트워크 계층의 역할을 수행하는 하드웨어입니다.
- 전송 계층(Transport Layer)
- 출발지와 도착지 간의 통신 과정에 대한 제어와 에러를 관리합니다. 즉 사용자들이 신뢰성 있는 통신이 가능하도록 관리하는 역할을 수행합니다.
- 신뢰성을 보장하는 연결형 프로토콜인 TCP나 비연결형이지만 속도가 빠른 UDP를 주로 사용합니다.
- 데이터 단위는 세그먼트로 나누며 체크섬을 통해 무결성을 보장하고 Sequence Number를 통해 데이터의 순서를 보장합니다.
- 또 같은 IP 주소 내에서도 세그먼트가 실제로 전달되어야 한 프로세스를 구분하기 위해 포트번호를 사용합니다.
- 세션 계층(Session Layer)
- 컴퓨터와 컴퓨터가 통신 상태를 유지하고 관리하기 위한 세션을 생성합니다.
- 세션은 포트 번호를 기반으로 연결합니다.
- 표현 계층(Presentation Layer)
- 데이터의 인코딩-디코딩이나 형식 등을 관리합니다.
- 응용 계층(Application layer)
- 사용자와 직접 접하면서 사용자로부터 전달받은 데이터를 하위 계층으로 전달해주는 역할을 합니다.
- HTTP, FTP 등의 프로토콜이 응용 계층이 속합니다.
- 브라우저가 응용계층의 역할을 수행하는 프로그램이라고 할 수 있습니다.
- 물리 계층(Physical Layer)
추가로 7계층보다 단순하게 4계층으로 나눈 모델도 있으며 자세한 내용은 아래 링크에서 확인할 수 있습니다.
Transport Layer와, Network Layer의 차이에 대해 설명해 주세요.
- 전송 계층은 데이터의 전송 및 통신의 원활한 동작을 위한 제어를 담당합니다. 네트워크 계층은 도착 지점을 IP 주소로 식별하고 데이터가 전달될 최적의 경로를 선택하는 역할을 합니다.
- 즉, 네트워크 계층이 정한 경로 내에서 데이터의 신뢰성을 보장하기 위한 역할을 전송 계층이 수행한다고 할 수 있습니다.
L3 Switch와 Router의 차이에 대해 설명해 주세요.
추가 검색 및 정리가 필요합니다.
- MAC 주소를 사용하는 것이 Switch , IP 주소를 사용하는 것이 Router라고 합니다.
- 기술의 발전으로 MAC 주소가 아닌 IP 주소로도 스위칭 작업을 가능한 것에 L3 Switch라고 할 수 있습니다.
- 기능적 차이가 있기는 하지만 실무적으로 두 하드웨어를 구분하는 것이 의미 없다는 의견도 있습니다.
각 Layer는 패킷을 어떻게 명칭하나요? 예를 들어, Transport Layer의 경우 Segment라 부릅니다.
- 1 계층 : Bits
- 2 계층 : 프레임
- 3 계층 : 패킷
- 4 계층 : 세그먼트
- 5 계층, 6계층, 7계층 : 데이터
각각의 Header의 Packing Order에 대해 설명해 주세요.
- Header는 실제 요청에 대한 정보가 아닌 부가 정보를 담은 메모리를 의미하며 Packing Order는 패킷이 각기 다른 경로도 이동하더라도 도착지에서 지켜져야 할 순서를 의미합니다.
- 각 계층별로 Packing Order에 대한 정보는 다음과 같습니다.
- 물리 계층 : 헤더 없음
- 데이터 링크 계층 : 패킷 순서에 대한 정보가 없음
- 네트워크 계층 : 패킷 순서와 관련된 특정 헤더 없음
- 전송 계층 : TCP의 경우, 송신 측에서 지정한 Sequence Number를 가지고 수신 측에서 정렬 / UDP의 경우, 순서 없이 패킷이 도착하면 처리
- 세션 계층 : 패킷 순서와 관련된 특정 헤더 없음
- 표현 계층 : 패킷 순서와 관련된 특정 헤더 없음
- 어플리케이션 계층 : 헤더 없음
ARP에 대해 설명해 주세요.
- ARP(Address Resolution Protocol)은 IP주소(논리적주소)와 MAC주소(물리적주소)를 매칭 시키기 위한 프로토콜입니다.
- 데이터를 보내기 위한 수신 컴퓨터의 IP 주소를 안다고 해도 IP 주소는 불변한 값이 아닙니다. 실제 수신 컴퓨터를 식별하기 위한 독립적인 값이 필요하며 이는 MAC 주소가 될 수 있습니다.
- 만약 MAC 주소를 모를 경우, 이를 알 수 있게 해주는 것이 ARP라고 할 수 있습니다.
- 동작 순서는 다음과 같습니다.
- 송신 컴퓨터에서 수신 컴퓨터의 MAC 주소를 몰라 알아내고자 한다.
- 송신 컴퓨터는 네트워크 내 모든 컴퓨터에게 ARP 요청 패킷을 보낸다.
- 패킷을 전달받은 수신 컴퓨터는 본인의 MAC 주소를 포함한 ARP 응답 패킷을 보낸다.
- 응답을 받은 송신 컴퓨터는 MAC 주소를 알아낸다.