반응형
1.네트워크의 큰그림
LAN과 WAN
- 네트워크는 규모에 따라 LAN와 WAN으로 나뉩니다.
- 근거리 네트워크를 의미하는 LAN Local Area Network 은 이름 그대로 가정이나 기업처럼 비교적 가까운 거리를 연결하는 한정된 공간에서의 네트워크를 말합니다.
- 집이나 사무실에 있는 공유기를 통해 모든 네트워크 기기가 통신하고 있다면 LAN이 공유기를 기준으로 구축되었다고 할 수 있습니다.
- 해당 공유기와 연결된 네트워크 기기들은 모두 같은 네트워크(LAN )에 속해 있다고 인식합니다.
- LAN 간의 통신, 원거리 네트워크를 의미하는 WAN Wide Area Network 을 통해 LAN 간 통신이 이루어집니다.
- WAN이 인터 넷을 가능하게 만드는 네트워크라고 할 수 있습니다.
- WAN은 일반적으로 ISP Internet Service Provider 라는 인터넷 서비스 업체가 구축하고 관리합니다.
- 대표적인 국내 ISP 업체로는 KT, LG유플러스, SK브 로드밴드가 있습니다.
패킷 교환 네트워크
- 네트워크를 통해 송수신되는 데이터의 단위를 패킷 packet 이라고 합니다.
- 오늘날의 네트워크는 패킷 단위로 주고받는 정보를 쪼개서 송수신하고 수신지 에서 재조립하며 패킷을 주고받는 ‘패킷 교환 네트워크’가 대부분입니다.
- 하나의 패킷은 페이로드 payload 와 헤더 header 로 구성되어 있으며, 때로는 트레일러 trailer 라는 정보가 포함되기도 합니다.
주소의 개념과 전송방식
- 송신지와 수신지가 일대일로 메시지를 주고받는 전자의 전송 방식을 유니캐스트 unicast 라고 하고,
- 네트워크상의 모든 호스 트에게 메시지를 전송하는 후자의 전송 방식을 브로드캐스트 broadcast 라고 합니다.
- 이 밖에도 네트워크 내의 동일 그룹에 속한 호스트에게만 전송하는 멀티캐스트 multicast,
- 네트워크 내의 동일 그룹에 속한 호스트 중 가장 가까운 호스트에게 전송하는 애니캐스트 anycast 등 다양한 송수신 방식들이 있습니다.
OSI모델
- 물리 계층 physical layer 은 가장 최하위 계층으로, 비트 신호를 주고받는 계층입니다.
- 데이터 링크 계층 data link layer 은 같은 LAN에 속한 호스트끼리 올바르게 정보를 주고받기 위한 계층입니다.
- 이를 위해 같은 네트워크에 속한 호스트를 식별할 수 있는 주소(MAC 주소)를 사용하고, 물리계층을 통해 주고받는 정보에 오류가 없는지 확인하기도 합니다
- 네트워크 계층 network layer 은 네트워크 간 통신을 가능하게 하는 계층입니다.
- 데이터 링크 계층이 기본적 으로 같은 LAN에 속한 호스트끼리 올바르게 정보를 주고받기 위해 필요한 계층이라면, 네트워크 계층은 LAN을 넘어 다른 네트워크와 통신을 주고받기 위해 필요한 계층입니다.
- 따라서 네트워크간 통신 과정에서 호스트를 식별할 수 있는 주소(IP 주소)가 필요하죠.
- 전송 계층 transport layer 은 이러한 상황에 대비해 신뢰성 있는 전송을 가능하게 하는 계층입니다.
- 또한 포트 port 라는 정보를 통해 특정 응용 프로그램과의 연결 다리 역할을 수행하는 계층이기도 합니다. 전송 계층에 속한 대표적인 프로토콜에는 TCP와 UDP가 있습니다.
- 세션 계층 session layer 은 응용 프로그램 간의 연결 상태를 의미하는 세션 session 을 관리하기 위한 계층입니다.
- 즉, 응용 프로그램 간의 연결 상태를 유지하거나 새롭게 생성하고, 필요하다면 연결을 끊는 역할을 합니다.
- 표현 계층 presentation layer 은 마치 번역가와 같은 역할을 하는 계층으로, 인코딩과 압축, 암호화와 같은 작업을 수행합니다.
- 세션 계층과 표현 계층은 다른 계층과 달리, 두 계층을 명확하게 구분하지 않거나 응용 계층에 포함하여 간주하는 경우가 많습니다.
- 마지막으로 응용 계층 application layer 은 사용자와 가장 밀접하게 맞닿아 있어 여러 네트워크 서비스를 제공하는 계층으로, 중요한 프로토콜들이 다수 포함되어 있습니다.
- 응용 계층에 속한 대표적인 프로토 콜에는 HTTP, HTTPS, DNS 등이 있습니다.
TCP/IP 모델
- TCP/IP 모델의 최하위 계층인 ➊ 네트워크 액세스 계층 network access layer 은 링크 계층 link layer 또는 네트워크 인터페이스 계층 network interface layer 이라고도 부르는데, 이는 OSI 모델의 데이터 링크 계층과 유사합니다 (TCP/IP 모델에는 OSI 모델에서의 물리 계층에 해당하는 개념이 없다고 보는 견해도 있습니다).
두 번째 계층인 ➋ 인터넷 계층 internet layer 은 OSI 모델의 네트워크 계층과 유사하며, ➌ 전송 계층 transport
layer 은 OSI 모델의 전송 계층, ➍ 응용 계층 application layer 은 OSI 모델의 세션 계층, 표현 계층, 응용 계
층을 합친 것과 유사합니다.
캡슐화와 역캡슐화
- 각 계층에서는 어떤 정보를 송신할 때 상위 계층으로부터 내려받은 패킷을 페이로드로 삼아, 각계층에 포함된 프로토콜의 각기 다른 목적과 특징에 따라 헤더 혹은 트레일러를 덧붙인 다음 하위 계층으로 전달합니다.
- 상위 계층의 패킷이 하위 계층의 페이로드로 간주되는 것입니다.
- 캡슐화 encapsulation 란 이렇게 송신 과정에서 헤더(및 트레일러)를 추가해 나가는 과정을 의미합니다.
2. 물리 계층과 데이터 링크 계층
이더넷
- 물리 계층과 데이터 링크 계층에는 LAN 내의 호스트들이 올바르게 정보를 주고받을 수 있게 해주는 다양한 기술들이 포함되어 있습니다.
- 그 기술의 대표적인 예시가 바로 이더넷입니다.
- 이더넷 Ethernet 은통신 매체를 통해 신호를 송수신하는 방법, 데이터 링크 계층에서 주고받는 데이터(프레임) 형식 등이 정의된 기술을 말합니다.
- 현대 대부분의 (유선)LAN은 이더넷을 기반으로 구현되어 있습니다
- 유선 LAN에서 가장 대중적으로 활용되는 기술이 이더넷이라면, 무선 LAN에서 가장 대중적으로 사용되는 기술은 와이파이 Wi-Fi 입니다.
- 유선 LAN에서 가장 대중적으로 활용되는 기술이 이더넷이라면, 무선 LAN에서 가장 대중적으로 사용되는 기술은 와이파이 Wi-Fi 입니다.
허브와 스위치
- 허브는 물리 계층의 대표적인 네트워크 장비로, 여러 대의 호스트를 연결하는 장치입니다
- 리피터 허브 repeater hub 라고 부르기도 하고, 특히 이더넷 네트워크의 허브는 이더넷 허브 Ethernet hub 라고 부르기도 합니다.
- 허브에는 2가지 중요한 특징이 있습니다.
- 하나는 전달받은 신호를 모든 포트로 내보낸다는 점이고,
- 또 다른 하나는 반이중 모드로 통신한다는 점입니다
- 여기서 반이중 half duplex 모드란 송신 또는 수신을 번갈아 가면서 수행해야 하는 통신 방식을 의미합니다.
- 동시 송수신이 불가능한 상태를 말하죠. 마치 무전기와 같이 어느 한 쪽이 송신할 때 다른 쪽은 송신이 불가능합니다.
- 반이중 통신과 대비되는 통신으로 전이중 통신이 있습니다.
- 전이중 통신은 전이중 모드로 송수신하는 것을 말하는데, 여기서 전이중 full duplex 모드란 동시 송수신이 가능한 상태를 의미합니다.
- 마치 전화 기처럼 양방향 송수신이 가능한 상태죠. 참고로, 데이터 링크 계층의 네트워크 장비인 스위치는 이전이중 모드를 지원합니다
- 여기서 반이중 half duplex 모드란 송신 또는 수신을 번갈아 가면서 수행해야 하는 통신 방식을 의미합니다.
데이터 링크 계층의 스위치
- 스위치 switch 는 허브의 한계를 보완하기 위한 네트워크 장비입니다.
- 스위치는 허브와 달리 전달받은 신호를 목적지 호스트가 연결된 포트로만 내보내고, 전이중 모드를 지원하므로 허브와 비교해 콜리전 도메인이 좁습니다.
- 스위치는 데이터 링크 계층에 속한 장비이므로 주소(MAC 주소)를 이해할 수 있습니다.
- 스위치는 프레임 속 MAC 주소를 토대로 현재 어떤 포트에 어떤 MAC 주소를 가진 호스트가 연결되어 있는지 파악하고, ‘포트, 연결된 호스트의 MAC 주소’의 대응 관계를 테이블의 형태로 메모리에 저장합니다.
- 이 정보를 MAC 주소 테이블 MAC address table 이라고 합니다.
- 스위치는 프레임 속 MAC 주소를 토대로 현재 어떤 포트에 어떤 MAC 주소를 가진 호스트가 연결되어 있는지 파악하고, ‘포트, 연결된 호스트의 MAC 주소’의 대응 관계를 테이블의 형태로 메모리에 저장합니다.
- MAC 주소 학습 기능 외에 스위치의 또 다른 대표 기능은 VLAN입니다.
- VLAN Virtual LAN 은 가상 (Virtual )의 LAN을 의미합니다.
- 이 기능은 대표적으로 같은 스위치에 연결된 모든 호스트를 하나의 네트워크로 간주하고 싶지 않을 때, 여러 논리적인 네트워크로 나누고 싶을 때 사용됩니다.
3.네트워크 계층 - IP
신뢰할 수 없는 통신과 비연결형 통신
- 신뢰할 수 없는 프로토콜 unreliable protocol 이란 패킷이 수신지까지 제대로 전송되었다고 보장하지 않는 프로토콜을 의미합니다
- IP는 비연결형 프로토콜 connectionless protocol 이기도 합니다. 이는 패킷을 주고받기 전에 사전 연결 과정을 거치지 않는다는 것을 나타냅니다.
- 따라서 상대 호스트의 수신 가능 여부는 고려하지 않고, 수신지를 향해 그저 패킷을 전송할 뿐입니다
클래스풀 주소 체계
- 클래스는 네트워크의 크기에 따라 유형별로 IP 주소를 분류하는 기준입니다.
- 어떤 클래스에 속한 IP 주소인지를 알면 IP 주소에서 네트워크 부분과 호스트 부분이 어느 정도의 크기인지 알 수 있죠.
- 클래스는 A, B, C, D, E, 총 5개 종류가 있습니다.
- 이 중 D와 E 클래스는 각각 멀티캐스트를 위한 클래스로, 특수한 목적을 위해 예약된 클래스이기 때문에 네트워크의 크기별로 IP 주소를 분류하는 데실질적으로 사용되는 클래스는 A, B, C입니다.
- 이러한 클래스를 바탕으로 IP 주소를 관리하는 주소 체계를 클래스풀 주소 체계 classful addressing 라고 합니다.
클래스리스 주소 체계와 서브넷 마스크
- 클래스풀 주소 체계보다 더 정교하고 유동적으로 네트워크 영역을 나눌 수단이 필요합니다.
- 그래서 등장한 개념이 클래스리스 주소 체계 classless addressing 입니다. 말 그대로 클래스를 이용하지 않고(classless ) 네트워크와 호스트를 구분하는 방식입니다.
- 클래스리스 주소 체계에서는 네트워크와 호스트를 구분하는 수단으로 서브넷 마스크를 이용합니다.
- 서브넷 마스크 subnet mask 란 IP 주소상에서 네트워크 주소를 1로 표기하고, 호스트 주소를 0 으로 표기한 비트열입니다
- 서브네트워크 subnetwork 는 IP 주소에서 네트워크 주소로 구분할 수있는 네트워크의 부분집합을 의미하며, 서브넷 subnet 이라고도 줄여 부릅니다.
- 즉, 서브넷 마스크는 곧 서브넷을 구분(마스크 mask )하는 비트열인 셈입니다. 또 이러한 서브넷 마스크를 이용해 원하는 크기로 클래스를 더 잘게 쪼개어 사용하는 것은 서브네팅 subnetting 이라고 합니다.
공인 IP 주소와 사설 IP 주소
- 공인 IP 주소 public IP address 는 전 세계에서 고유한 IP 주소입니다.
- 인터넷을 비롯한 네트워크 간 통신에서 사용되는 IP 주소가 바로 공인 IP 주소입니다.
- 공인 IP 주소는 ISP나 공인 IP 주소 할당 기관을 통해 할당받을 수 있습니다.
- 사설 IP 주소 private IP address 는 사설 네트워크에서 사용하기 위한 IP 주소를 말합니다.
- 사설 네트워크란 외부 네트워크에 공개되지 않은 네트워크를 의미합니다.
- 사설 IP 주소는 일반적으로 라우터(공유 기)를 통해 할당되기 때문에 공유기(라우터)를 중심으로 구성된 LAN 대부분은 사설 네트워크에 해당합니다.
- IP 주소 공간 중에서 사설 IP 주소로 사용하도록 특별히 예약된 IP 주소 공간이 있습니다. 다음의 예약 IP 주소 범위에 속하는 IP 주소는 사설 IP 주소로 간주하기로 약속된 주소입니다.
● 10.0.0.0/8 (10.0.0.0 ~ 10.255.255.255 )
● 172.16.0.0/12 (172.16.0.0 ~ 172.31.255.255 )
● 192.168.0.0/16 (192.168.0.0 ~ 192.168.255.255 )
IP 주소의 할당
- 호스트에 IP 주소를 할당하는 방법은 2가지 방법이 있습니다.
- 하나는 정적 할당이고, 또 하나는 동적 할당입니다.
- 전자는 수작업을 통해 이루어지고, 후자는 일반적으로 DHCP라는 프로토콜을 통해 이루어집니다
정적 할당
- 일반적으로는 정적 IP 주소를 부여하고자 하는 IP 주소와 서브넷 마스크, 게이트웨이(라우터) 주소, DNS 주소 등이 필요한데, 이 값은 운영 체제에 관계없이 대체적으로 유사합니다.
- 여기서 게이트웨이 gateway 는 일반적으로 서로 다른 네트워크를 연결하는 하드웨어적/소프트웨어적 수단을 의미합니다.
- 그 중에서도 기본 게이트웨이 default gateway 는 호스트가 속한 네트워크의 외부로 나가기 위한 첫 기본 경로를 의미합니다.
- 따라서 기본 게이트웨이는 네트워크 외부와 연결된 라우터(공유 기)의 주소를 의미하는 경우가 많습니다.
- DNS 주소는 호스트가 도메인 네임을 토대로 IP 주소를 알아내기 위해 질의하는 서버의 주소를 의미합니다
동적 할당 : DHCP
- IP 주소를 동적으로 할당받고자 하는 호스트는 DHCP 서버와 메시지를 주고받으며 동적 IP 주소를 할당받을 수 있습 니다.
- DHCP 서버는 호스트에 할당 가능한 IP 주소 목록을 관리하다가, IP 주소 할당 요청을 받았을 때 IP 주소를 할당해 주는 호스트입니다
IP 전송의 특징 보완 ICMP
- IP가 신뢰성 높은 연결형 프로토콜이 아니라 신뢰할 수 없는 비연결형 프로토콜인 주된 이유는 성능에 있습니다.
- 하지만 그럼에도 불구하고 IP의 신뢰할 수 없는 비연결형 통신이라는 특징을 보완해야 할 때가 있습 니다.
- 이를 위한 방법에는 크게 2가지가 있습니다. 첫 번째는 신뢰할 수 있는 연결형 통신을 지원하는 상위 계층의 프로토콜을 이용하는 것입니다.
- TCP가 대표적입니다. 신뢰할 수있는 연결형 프로토콜인 TCP를 통해 패킷을 송수신하면 신뢰성과 연결형 통신을 보장할 수 있습니다.
- 두 번째는 네트워크 계층의 프로토콜로 ICMP를 이용하는 방법입니다.
- ICMP Internet Control Message Protocol는 IP 패킷의 전송 과정에 대한 피드백 메시지(이하 ICMP 메시지)를 얻기 위해 사용하는 프로토콜로, ICMP 메시지를 통해 패킷이 상대방에게 어떻게 전송되었는지를 알려줄 수 있어 IP 전송의 결과를 엿볼 수 있습니다.
- 이를 위한 방법에는 크게 2가지가 있습니다. 첫 번째는 신뢰할 수 있는 연결형 통신을 지원하는 상위 계층의 프로토콜을 이용하는 것입니다.
IP 주소와 MAC 주소의 대응: ARP
- 상대 호스트의 IP 주소는 알고, MAC 주소는 모르는 상황이 있을 수 있는데요. 바로 이러한 상황에서 사용되는 프로토콜이 ARP입니다.
- ARP Address Resolution Protocol 는 IP 주소와 MAC 주소를 함께 활용 하는 통신 과정에서 동일 네트워크 내에 있는 송수신 대상의 IP 주소를 통해 MAC 주소를 알아내는 프로토콜입니다.
https://ebook-product.kyobobook.co.kr/dig/epd/ebook/4801169212541
이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접 | 강민철
eBook 이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접 | 프로그램의 실행 원리를 이해하지 못한 채 ‘일단 작동만 하도록 만드는 것’과 정확하게 이해하고 ‘제대로 작동하도록 만드는 것
ebook-product.kyobobook.co.kr
반응형
'스터디' 카테고리의 다른 글
| [이벤트 기반 마이크로서비스 구축] Chapter4. 기존 시스템에 이벤트 기반 아키텍쳐 통합 (1) | 2026.01.25 |
|---|---|
| [이벤트 기반 마이크로서비스 구축] Chapter1. 왜 이벤트 기반 마이크로서비스인가? (1) | 2026.01.04 |
| Chapter5(2). 네트워크 - 4 전송 계층 - TCP와 UDP | 5 응용 계층 - HTTP의 기초 (0) | 2025.12.07 |
| Chapter 03(2). 운영체제 (0) | 2025.11.16 |
| Chapter02. 컴퓨터 구조 (0) | 2025.11.02 |