서버의 기본 28

2-11 포트 번호의 사용법

포트 번호는 컴퓨터 내에서 동작하고 있는 어플리케이션을 식별하기 위해 사용하는 숫자이다. 구체적으로 어떻게 사용하며, WEB 클라이언트가 웹 서버에 액세스 하는 경우를 예로 살펴보자. # 클라이언트가 서버에 접속 (REQUEST) ① 웹 클라이언트는 웹 브라우저가 만든 REQUEST 데이터를 수신하면, 송신원 포트 번호에 다이나믹 포트에서 무작위로 선택한 숫자를 수신처 포트번호에 웹 서비스를 의미하는 80을 넣어 세그먼트로 만든다. ② 웹 클라이언트는 IP와 이더넷의 캡슐화를 실행하고, 웹 서버에 전송한다. ③ 웹 서버는 이더넷과 IP의 비캡슐화를 통해 수신처 포트 번호를 체크한다. (정상적이라면 80이 들어있을 것이다.) 80번은 웹 서비스를 의미하는 Well-known 포트 번호이므로, 웹 서비스를 ..

2-10 TCP와 UDP

# 신뢰성? 즉시성? 레이어 4는 통신제어와 서비스의 식별하는 역할을 한다. 어플리케이션이 요구하는 통신조건을 신뢰성과 즉시성의 2가지로 분류하여, 각각의 프로토콜을 가지고 있다. - TCP(Transmission Control Protocol) 데이터를 중요하게 주고받고 싶을 경우에 사용한다. TCP는 통신하는 컴퓨터끼리 송신, 수신 확인 메세지를 주고받으며 통신의 신뢰성을 높인다. Web, 메일, 파일 공유 등 데이터를 손실하지 않기 위한 서비스에서는 TCP를 사용한다. - UDP(User Datagram Protocol) 이에 반해 데이터의 신뢰성은 차치하고 일단 빠르게 주고받고 싶을 경우에 사용한다. UDP는 데이터를 한번 보내면 TCP와 같은 확인 절차가 없기 때문에 신뢰성은 낮지만, 확인 과정..

2-09 ARP

# ARP MAC 주소는 컴퓨터의 NIC(Network Interface Card)에 찍혀있는 물리적 주소이다. 이에 반해, IP 주소는 OS에서 설정하는 논리적 주소이다. 이 두가지의 주소들은 따로 사용되는 것이 아니라, 협조적으로 사용될 필요가 있는데, 이를 가능하게 해주는 가 역할을 하는 것이 바로 ARP(Address Resolution Protocol)이다. 물리와 논리의 가교 역할을 한다는 것은, 어려운 느낌이 막연하게 들지만, 실제로 수행하는 역할은 IP 주소와 MAC 주소를 관련짓는 일 뿐이다. 컴퓨터는 레이어3으로부터 수신한 패킷을 프레임으로 만들어, 케이블로 흘려보낸다. 하지만, 패킷만 가지고는 프레임을 만들기 위한 정보가 부족하다. 송신원 MAC 주소는 자신의 NIC에 적혀있는 MAC..

2-08 라우팅

# 라우팅 테이블에서 패킷 전송 이더넷에서 만든 네트워크 간 연결할 때 사용하는 네트워크 기기를 라우터라고 한다. 이 라우터는 미리 만들어 둔 라우팅 테이블을 이용해서 패킷을 전송하는데, 라우터가 실행하는 패킷 전송을 라우팅이라고 한다. 라우팅 테이블은 "송신처 네트워크"와 "송신원"이 되는 IP 주소(넥스트 홉)로 구성되어 있다. 라우터는 패킷을 수신하면, 그 패킷의 송신처 IP 주소와 라우팅 테이블의 송신처 네트워크를 조회한다. 이 때, 일치한다면 해당 IP 주소(넥스트 홉)에 패킷을 전송하고, 일치하지 않는다면 파기한다. # 라우팅 테이블 작성법 2가지 - 정적 라우팅 수동으로 라우팅 테이블을 작성하는 방법이다. 송신처 주소와 넥스트 홉을 1가지 설정한다. 정적 라우팅은 네트워크를 구성하는 모든 라..

2-07 다양한 IP 주소

IP주소는 [0.0.0.0]부터 [255.255.255.255]까지 2의 32승(약 43억개)만큼 많다. 하지만, 누구나 자기가 원하는 IP주소를 쓸 수 있는 것은 아니다. 사용용도나 사용되는 곳에 따라 쓸 수 있는 IP 주소의 범위가 정해져 있다. # 사용용도에 따라 IP주소는 사용용도에 따라 클래스A부터 클래스E까지 5개의 클래스로 나눌 수 있다. 그 중에 일반적으로 사용되는 것은 클래스A부터 클래스C까지. 컴퓨터로 설정해서, 1대1 통신(유니캐스트)로 사용한다. 이 3가지 클래스의 차이점은, 간단하게 말해서 네트워크의 규모이며, 클래스C로 갈수록 규모가 작아진다. 클래스D와 클래스E는 특수용도의 목적으로 사용된다. 주소 클래스의 분류는 IP 주소의 32비트에서 선두 1~4비트로 처리된다. 이 선두 ..

2-06 IP와 IP주소

# IP 레이어3에서 제일 중요한 프로토콜이 바로 IP(Internet Protocol)이다. 현재의 네트워크는 거의 모두가 IP를 사용하고 있다. IP는 레이어4(트랜스포트 층)에서 전달 받은 데이터(세그먼트)에 IP헤더를 더해 패킷으로 만든다. IP헤더는 패킷의 송신주소를 나타내는 택배의 전표와 같은 역할을 한다. (패킷 = 택배 속의 물건) 패킷은 바닷속 깊은 심해부터 산속에 이르기까지, 세계의 모든 네트워크를 경유한다. 이러한 다양한 환경에서도 통용될 수 있도록 다양한 필드로 구성되어 있다. # IP 주소 IP는 IP주소라고 하는 32비트의 식별번호를 사용해서, 컴퓨터를 식별한다. IP주소는 "192.168.1.1", "172.16.25.254"와 같이 8비트씩 점으로 나누어 10진수로 표기한다...

2-05 스위칭

# 이더넷의 네트워크는 스위치를 중심으로 만든다 이더넷은 스위치라고 불리는 네트워크 기기를 중심으로 컴퓨터를 배치하는 "스타 토폴로지"라는 접속형태를 띈다. 대형 가전매장이나 사무실 등에서 LAN포트가 여러개 탑재되어 있는 네트워크 기기가 바로 스위치이다. 유선 네트워크라면, 컴퓨터를 LAN 케이블을 경유해서 스위치로 연결하는 것이다. # MAC 주소 테이블을 사용하여 스위칭 스위치는 프레임이 들어온 LAN 포트 번호와 그 프레임의 발신지 MAC 주소를 테이블로 만들어 일정시간 기억하여, 불필요한 프레임 전송을 피하고, 이더넷 네트워크의 통신효율을 향상하는 것을 목적으로 한다. 스위치가 실행하는 프레임 전송을 스위칭, 스위치가 스위칭에서 사용하는 LAN 포트 번호와 발신지 MAC 주소의 테이블을 MAC ..

2-04 이더넷과 MAC주소

# 이더넷 : 프레임 작성 레이어1과 레이어2에서 반드시 필요로 하는 규격이 "이더넷"이다. 유선 네트워크라면 아주 큰 확률로 이더넷을 사용하고 있을 것이다. 이더넷은 레이어3(네트워크층)에서 수신한 데이터(패킷)에 아래와 같은 데이터를 추가하여 프레임을 작성한다. - Preamble : 프레임의 시작을 의미 - Header : 송신주소와 발신지 - FCS(Frame Check Sequence) : 비트에러 체크에 사용 # MAC주소 : 컴퓨터 식별 이더넷은 MAC주소라고 하는 48비트의 식별자를 사용해서 컴퓨터를 식별한다. MAC주소는 "a8:66:7f:04:00:80"이나 "00-50-56-c0-00-01"와 같이 8비트씩 하이픈이나 콜론으로 연결해주고, 16비트로 표기한다. MAC주소의 상위 24비..

2-03 프로토콜의 역할

# 캡슐화 & 비캡슐화 프로토콜이 갖는 역할 중 가장 큰 것은 "캡슐화"와 "비캡슐화"이다. 네트워크 통신에서는 OSI 참조 모델의 레이어를 넘기 위해서 데이터를 캡슐화 하는 것이 필요하다. 이 때, 캡슐에 넣는 것을 캡슐화, 캡슐에서 꺼내는 것을 비캡슐화라고 한다. (마치 러시아의 마트료시카 인형처럼) 이 두 개념은 어플리케이션 데이터를 송신하는 서버, 이를 수신하는 클라이언트에 대해서 생각해보면 이해하기 쉽다. # 송신시 캡슐화, 수신시 비캡슐화 먼저 서버에서 일어나는 처리가 캡슐화이다. 서버는 레이어의 상위부터 하위까지 순으로 캡슐화 처리를 실행하여 전송용 데이터를 만든다. 서버 어플리케이션은 어플리케이션 데이터를 만들면, 그 상태 그대로 트랜스포트층에게 전달한다. 트랜스포트층은 수신한 어플리케이션..

2-02 OSI 참조 모델과 프로토콜

# 프로토콜 = 통신시의 룰 OSI 참조 모델은 국제표준화기구(ISO)가 컴퓨터의 통신기능을 계층구조로 나누어 이해하기 위해 만든 모델로, 간단하게 말하자면 "통신할 때 지키는 규칙 모음집"과 같은 것이다. 이 때, 네트워크에서의 규칙을 "프로토콜"이라고 한다. 예를 들어, 웹사이트를 볼 때, "http://www.naver.com"과 같은 URL에서 "http"는 프로토콜의 부분을 의미한다. HTTP(HyperText Transfer Protocol)의 약어로, 웹서버와 웹클라이언트가 데이터를 송수신할 때의 규칙, 즉 프로토콜인 것이다. # 사용하는 프로토콜의 수는 적은 편 OSI 참조 모델은 아래와 같이 표로 나타낼 수 있다. 어플리케이션층 (Layer 7) 어플리케이션 프로토콜 (HTTP등) 프레젠..