해결된 질문
작성
·
364
·
수정됨
0
지금까지 제가 이해한 네트워크 흐름은 이렇습니다.
로컬 프로세스에서 Socket에 IO를 통해 Stream data 생성 (브라우저라면 HTTP Request를 Stream으로 TCP에 전달하겠군요)
OS 수준인 TCP에서 일련의 Stream data를 Segment들로 분할하며, 이때 TCP 헤더에 Remote Endpoint의 Port 번호가 추가
TCP에서 받은 Segment를 Packet에 캡슐화. 이때 Source IP와 Remote IP가 Packet 헤더에 추가
L4에서 Packet을 Frame으로 캡슐화. 이때 자신이 속한 사설망의 L2 Switch의 mac 주소가 Frame 헤더에 추가
Frame이 pc의 NIC를 출발하여 L2 access에 도착
L2 access에서 L2 Distribution으로 Frame 전달 (없을 수도 있겠네요)
L2 Distribution에서는 Frame을 디캡슐화하여 패킷을 확인하고 해당 패킷의 Source IP를 자신의 public IP로 변환 후 인터넷 세계로 패킷을 전송
...
8번 과정부터 머릿속에 잘 그려지지 않는데, 인터넷 세계에서 해당 패킷이 가고자 하는 remote host로 가기 위해서는 어떤 과정을 거치게 되나요??? 이 세상에는 ipv4 갯수만큼 엄청나게 많은 라우터들이 존재할텐데 말입니다... ARP가 그러했듯 라우터들끼리 미리미리 주변 라우터가 어디에 있는지 broadcast로 파악을 해두고 있는 것일까요??
그리고 인터넷에서는 remote host가 속한 사설망에 패킷이 도착할때 까지는 L3 끼리만 스위칭을 하게될까요?? 각 라우터들도 자신만의 사설망에 속해 있을 것이고 그렇다면 자신이 관리하는 L2 스위치도 있을 것인데, 패킷이 remote host로 전달되느 ㄴ과정에서 L2, L3, L2, L3 로 번갈아가면서 전달되지 않을까라는 생각이 듭니다.
답변 1
0
우선 7번 과정은 잘못 이해하고 있는 것입니다. L2 스위치는 Access, Distribution 모두 MAC주로를 변경하지 않습니다. 목적지 IP주소가 같은 네트워크 구간이 아닌 경우 패킷을 송신하는 PC가 생성한 Frame의 목적지 MAC주소는 게이트웨이 입니다.
라우터들을 패킷이이 돌아다니며 최종 목적지까지 전달되는 구조는 라우팅 프로토콜에 대해 공부해야 정확히 알 수 있습니다. 그리고 라우터들도 일정 수준에서는 계층적 구조로 연결되어 있어서Access에서 Distribution 스위치로 프레임이 전달되듯 인접 상위 네트워크 소속으로 확장되어 라우팅이 이루어집니다. 관련해 더 많은 정보를 알고 싶다면 라우팅 프로토콜, 인터넷 티어, 인터넷 익스체인지 포인트 등에 대해 검색해보시기 바랍니다. 댓글로 짧게 논할 수 있는 내용이 아니지만 그렇다고 크기 어려운 내용은 아니니 관련 그림(특히 티어)를 꼭 보시기를 권합니다. 참고하시기 바랍니다.