본문 바로가기
728x90
반응형

source-code/network6

네트워크 기초 정리 - 네트워크 인터페이스 선택 원리와 기준 네트워크 인터페이스 선택 원리와 기준 Process가 Socket을 열어 바인딩할 TCP/IP를 어떻게 결정하는가? → 이는 여러 개의 Network Interface 중 무엇을 선택할 것인가 하는 질문으로 이해할 수 있습니다. (이를 결정하는 것을 Swiching이라 하는데, Swiching을 좀 더 추상화한 질문) 응용 프로그램이 소켓을 개발할 때 IP 주소를 특정하지 않는다면, OS 수준에서 임의로 IP를 선택하며 이때 선택 기준은 (여러 가지가 있지만 PC 한정) → Routing 경로 계산 시 가장 비용이 적은 Network Interface 입니다! 이때 해당 비용 = Metric 으로 이해할 수 있으며 각 OS, 제조사 별로 Metric을 선정하는 공식이 정해져 있습니다. https://ww.. 2024. 2. 20.
네트워크 기초 정리 - 데이터 단위 Stream User모드 Application Process(즉, socket) 수준에서의 데이터 단위를 Stream이라 합니다. Stream 데이터란 시작점은 존재하지만 끝은 알 수 없는, 일렬로 쭉 널어진 데이터를 의미하며, process는 File에 stream 데이터는 Write하게 됩니다. (ex Word 문서 작업을 하며 글을 쓸 경우, 글자를 입력하는 만큼 파일 크기가 커짐) Segment stream 데이터가 Kernal로 이동해 TCP를 만날 때 Stream 데이터는 일정 길이로 분해되는데, 이를 segmentation이라 합니다. 추가적으로 이렇게 분해된 조각 하나하나의 데이터 단위를 Segment라 합니다. 이 때 Stream 데이터가 분해되는 일정 단위의 길이는 TCP 수준에서의 최.. 2024. 2. 19.
네트워크 기초 정리 - Switch, Switching Switch Host는 네트워크에 연결된 컴퓨터 를 의미합니다. 이 중 network 이용 주체로서의 Host를 End-Point(ex Client, Server)라 하며, network 자체를 이루는 Host를 Switch라 합니다. Switching 이러한 Switch가 하는 일이 → Swiching 입니다. 기본적으로 Switching은 경로(or 인터페이스) 선택 을 의미합니다. Internet을 고속도로로 비유한다면, 각 교차로는 Router라 할 수 있으며(Router는 L3 Switch의 일종, 기본적으로 L3 Swiching을 수행) Router들은 연결된 선(=네트워크 인터페이스)을 통해 가장 효율적으로 목적지에 도착할 수 있는 경로를 파악하는데 이것이 Swiching을 의미하는 것이죠!.. 2024. 2. 5.
네트워크 기초 정리 - SW 개발자 관점의 Port 번호 Port 번호란? 2024.01.02 - [source-code/network] - 네트워크 기초 정리 이전에 학습한 것과 같이 Process가 kernal의 구성 요소를 애플리케이션 수준으로 추상화할 때 File 형태의 interface를 사용하며 이때 추상화 대상이 TCP/IP와 관련된 경우, 해당 File을 Soket이라 부릅니다. → Port 번호는 이러한 TCP Socket에 attach되는 정보 중 하나입니다! Port 번호 Port 번호는 기본적으로 16bit로 구성됩니다. → 0~65535(2의 16제곱)이 가능한데, 이 중 0과 65535는 사용하지 않습니다. Process 식별자로써의 Port 번호 IP가 192.168.0.1인 host의 경우 해당 host에서 실행된 process a.. 2024. 1. 30.
네트워크 기초 정리 (IP 주소, IPv4, Subnet-mask) IP 주소 IP 주소는 Host에 대한 식별자를 의미합니다. 이때 Host는, 인터넷에 연결될 컴퓨터를 의미합니다. IP 주소는 IPv4와 IPv6라는 두 버전이 존재합니다. 두 버전의 가장 큰 차이는 → 주소 길이! (IPv4 : 32bit 주소 체계, IPv6 : 128bit 주소 체계) IPv4 현재 가장 보편적으로 사용되고 있는 IP 버전입니다. 터미널창에 윈도우 기준 ipconfig, 맥 기준 ifconfig 명령어를 통해 자신의 IP주소를 확인할 수 있습니다. IP 주소는 . 을 기준으로 8bit씩 끊어서 표현합니다. (즉 각 자릿수에는 0에서 255까지의 숫자가 가능합니다) Subnet-mask (Net-mask) Subnet-mask는 IPv4에서 network ID의 길이를 의미합니다. .. 2024. 1. 10.
네트워크 기초 정리 컴퓨터의 세 가지 구성요소 컴퓨터는 세계는 크게 세 가지 계층으로 구분할 수 있다. → 애플리케이션 수준의 User 계층 / OS 수준의 Kernal 계층 / 물리적 기기 수준의 HardWare 계층 이때 각 네트워크 요소들을 OSI 7 계층의 관점에서 원론적으로 접근하기보다(Abstract), 해당 추상에 대한 구현(Implement)에 집중할 필요가 있겠다. (학습 단계에서는!) (ex TCP/IP, HTTP) User process Kernal TCP IP Driver H/W NIC (Network Interface Card, LAN 카드) User 단계의 Process, 그 밑에 kernal 단계의 프로토콜이 구현되어 있다. 이때 전송/네트워크 계층의 추상을 구현한 것이 → TCP/IP가 되는 것.. 2024. 1. 2.
728x90
반응형