본문 바로가기

컴퓨터 일반/네트워크

[Network] PC통신 상세 과정

 이번에는 PC A가 PC B에 통신하는 과정을 상세히 아는 과정을 배워보겠습니다. 이 과정을 이해하는 것이, Network를 이해하는 기초입니다.

 

Q-1) AB가 통신이 되는 상황. A에서 보낸 DataB가 받았을 때, B가 받은 Source Mac은 무엇인가?

Q-2) PC Aarp cache table 정보를 기입하시오.

Q-3) A – B통신에 사용된 모든 protocol을 쓰시오.

Q-4) A에서 B로 갈 때, data이동에 따른 정보를 쓰시오.

 

 

단계 Ⅰ) Host A가 첫번째 패킷을 보낼 때의 과정

 

Ⅰ- ①) Host A는 G/W의 MAC을 알아온다.

 

Host AICMP패킷을 만들 때Host A는 목적지 network가 동일한 network 인지 판단한다.

현재 다른 network이기 때문에 default GW로 보낸다. 그런데 현재 Default GWMAC주소를 모르기 때문에  Arp로default GW를 알아와야 한다.

Broadcast Domain으로 Default GWMAC을 알아오는 PacketFlooding한다.

 

Host A는 Default G/W의 MAC을 몰라서 다른 network로 패킷을 보낼 수 없다.

 

 

Ⅰ- ②) 스위치는 MAC주소를 학습한 뒤, Broadcast로 Flooding한다.

 

Switch해당 MAC주소를 학습한다.(어떤 MAC이 어떤 포트로 보냈는지 학습) 해당 패킷은 broadcast임을 안다.(Flooding된 패킷)

 Decapsulation한 뒤, 자신에게 맞는 IP가 아님을 인지한다.

 Broadcast임으로 나머지 포트에 해당 패킷을 flooding한다.

 

Switch는 MAC주소를 학습한 뒤, Broadcast Flooding 한다.

Ⅰ- ③) Router은 IP를 확인한 뒤에 MAC주소 등록한다.

 

라우터는 Broadcast로 온 패킷을 받는다. Decap한뒤 자신에게 온 IP임을 인지한다.

해당 MAC주소를 ARP테이블에 기록한다.

 

 

Router는 Dest IP를 확인한 뒤에 해당 패킷의 MAC을 학습한다.

 

Ⅰ - ④) Router은 Host A에게 응답한다.

▶ 자신에게 온 Mac Address이 므로 Src Mac은 자신의 Mac, Dst Mac Host A Mac으로 보낸다.

 

Router가 보낸 Packet은 Switch를 통해 Host A에게 도달한다.

Ⅰ - ⑤) Host A는 G/W의 MAC주소를 학습한다.

 

▶ Host A는 해당 패킷을 decap을 한 뒤 이것이 자신이 보낸 packetReply임을 알고, arp테이블에 등록을 시킨다.

▶ 그 후, MAC주소를 몰라서 arp를 기다렸던 ICMP패킷을 만든다.

 

 

 

단계 Ⅱ) ARP로 Host A가 G/W의 MAC을 학습한 이후, 두번째 패킷을 보내는 과정

 

Ⅱ - ①) Host A는 G/W를 통해 자신의 Network와 다른 Packet을 보낸다.

 

▶ Host A는 첫번째 패킷을 통해, G/W의 MAC를 파악하였다. 이제 Host B에 Packet을 보낸다.

▶ Host B는 Network가 다르기 때문에 G/W보내야한다. 따라서, MAC주소는 Router로, IP주소는 Host B로 해서 보낸다.

MAC주소는 G/W이지만 목적지 IP는 Host B이다.

 

Ⅱ - ②) Router 1은 Routing Table을 참조한 뒤에 보낼 MAC주소를 가져온다.

 

▶ Router 1Switch로부터 Packet을 받았고, 해당 목적지가 자신의 IP가 아니고, Routing Table에 있음을 알았다.

라우팅 테이블에 따르면, Router 2의 10.1.2.6(특정 포트)으로 보내야 한다. 그래서 해당 방향으로 보내려고 했는데, Router2의 MAC주소가 없다.

그래서 Arp packet을 만들어서 해당 networkflooding한다.

 

 

Routing Table참조 후 Dest MAC을 구하기 위해 flooding한다.

 

 

Ⅱ - ③) Router 2은 Router 1의 MAC주소 응답을 한다.

 

▶ Router2는 해당 패킷을 decap한 뒤, 자신에게 온 IP임을확인한다.

▶ ARP 테이블을 업데이트한 뒤, 단계Ⅰ에서 했던 것처럼  Src Mac은 자신으로, Dst MacRouter1로 바꿔서 보낸다.

 

 

Router2의 MAC주소 응답

 

Ⅱ - ④) Router1은 ARP 테이블을 업데이트한다.

 

▶ Router1은 해당 패킷이 자신이 보낸 packetreply임을 알고 테이블을 업데이트한다.

 

Router 2를 통해 받은 패킷을 통해 ARP를 파악한다.

 

 

단계 Ⅲ) Host A가 응답이 오지 않아, Dest B로 다시 패킷을 보내는 과정

 

Ⅲ - ①) Host A가 패킷을 재전송한다.

 

▶ Host Aping에 응답이 오지 않아서, 다음의 Echo Type 8ping을 다시 보낸다.

 

 

 

Ⅲ - ②) Switch는 받은 패킷을 MAC 테이블과 비교한뒤 맞는 port로 보낸다.

 

▶ Switch는 해당 Packet열어본 뒤, 자신의 Mac Table에 맞는 port보낸다.

 

 

Ⅲ - ③) Router1은 Router2로 패킷을 전송한다.

 

▶ Router는 해당 Packet열어본뒤Cisco Express Forwarding (CEF) / Routing Table있음을 인지하고,  해당 IPMAC주소로 encap 한뒤 Forwarding한다.

 

 

 

Ⅲ - ⑤) Router2에는 Dest Mac주소가 없다

 

▶ Host B(해당 PC)는 해당 packet을 받고, 자신의 IP와 맞음을 확인한 뒤, Router2로 자신의 MAC주소를 알리는 arp를 보낸다.

 

Ⅲ - ⑥) Router2는 Host B의 MAC주소를 학습한다.

 

 

 

 

단계 - Ⅳ) Host A가 다시 Host B에게 패킷을 보내는 과정

 

단계 3의 과정을 거쳐서 Host B에게 패킷이 들어왔다. Host B는 해당 패킷을 응답한다.

 

Ⅳ - ①) Host B는 Src IP를 본인 IP로, Dest IP를 Host A로 해서 G/W로 보낸다.

 

Router2Host B에게 패킷을 보낸다. Host B는 Host A가 본인에게 패킷을 줄 때와 마찬가지로 G/W로 보낸다.

 

 

Ⅳ - ②) Router 2는 Router 1의 MAC주소로 해당 패킷을 보낸다.

 

▶ Router 2Mac주소를 Switching해서 보낸다.

 

Ⅳ - ③) Router 1은 MAC주소를 HOST A로 바꿔서 보낸다.

 

▶ Router 1도 MAC주소를 Host A로 해서 보낸다.

 

 

 

Ⅳ - ④) Ping 성공

 

▶ Switch는 Port를 확인한 뒤에 Host A에게 보낸다.

 

'컴퓨터 일반 > 네트워크' 카테고리의 다른 글

[rtmp]  (0) 2020.06.21
[CCNA]서브넷 마스크란?  (0) 2019.10.13