네트워크 기초 이론 2편

Owon·2023년 8월 31일
0
post-thumbnail

Port 번호 - Process 식별자

본질은 파일이지만 프로토콜을 추상화했기에 소켓으로 정의를 한다. TCP 소켓인 경우 소켓에 attach되는 내용 중 하나가 Port 번호이다. 포트번호는 16bit(대부분)인데, 이는 0~65535가지의 경우의 수가 있다. 이때 0과 65535는 사용 할 수 없다.
인터넷에 접속할 땐 소켓을 열어주는데, 이때 소켓의 포트번호 하나에 브라우저 하나를 담당한다. 즉 엣지와 크롬을 사용할 땐 두개의 포트번호가 열리게 된다.

데이터의 흐름을 간단하게 설명하자면:

데이터 패킷 -> NIC -> Driver -> TCP/IP -> Process / Edge / etc
이때 프로세스로 갈지 다른 곳으로 갈지는 포트번호에 따라 목적지가 결정된다.

Port번호는 Socket에 binding 된다는 걸 명심하자.

Switch와 Switching

Switch는 선택이라는 개념으로 시작할 수 있다. 데이터를 최종 목적지 까지 효율적으로 최단거리로 갈 수 있는지 고려하는 건 네트워크에서 매우 중요한 일이다. 인터넷은 기본적으로 라우터의 집합체(L3)인데, 인터넷에서 출발한 데이터는 라우팅 테이블을 통해 데이터 패킷은 적절한 Switching(라우터)을 하여 최종 목적지로 도달 할 수 있다.

네트워크 데이터 단위 정리

Socket은 프로토콜을 추상화 한 파일을 뜻 하는데, 파일의 I/O은 기본적으로 시작점만 있으며, 데이터를 Write할 때 마다 지속적으로 용량이 커진다. Socket또한 File이기에, 이러한 특징을 갖고 있는데, 이 개념을 Stream이라고 부른다. Stream의 특징은 시작점을 알지만 종료지점은 정해져있지 않다는 것 이다. 하지만 데이터가 IP 단위를 넘어서게 된다면, 한번에 데이터를 전송하기 어려울 수 있다. 이 때 등장한 개념이 바로 segment다. IP단위에서 다루는 단위가 바로 Packet이고, NIC단위에선 Frame이다.

Stream -> Segment화 -> Segment -> Packet -> Encapsulation -> Frame

패킷의 최대크기(MTU 1500bytes)에 따라서 Segment의 최대크기(MSS)가 정해진다.

네트워크 인터페이스 선택 원리와 기준

통신을 하고 싶다면 Socket에 IP가 바인딩 되어야한다, 만약 무선,유선을 동시에 사용한다면 어떤 네트워크를 이용해 통신을 할지에 대한 결정권(인터페이스 선택) 을 고려해볼 필요가 있다.
인터페이스의 선택은 Switching과정이라 볼 수 있다. 일반적으로 매트릭 값이 가장 낮은 순위를 근거로 인터페이스 선택이 결정된다. 이때 매트릭 값은 비용이라고 생각하면 쉽다.

웹 서비스 구조

웹 서비스의 초석은 무선(Text)와 링크의 확장구조다. 문서(HTML)를 인터넷에 연결하고 HTTP를 통해 문서를 전달하는 행위를 실행하는 주체가 바로 웹 서비스 본체다.

profile
공부한 내용들을 정리하는 저장소입니다.

0개의 댓글