네트워크 기초 45

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등) 프레젠..

2-01 네트워크 기술의 이해

# 2장에 들어가며 1-07에서 이야기 한 것과 같이 모든 서버는 네트워크를 사용해서 데이터를 제공(전송)한다. 2장에서는 서버가 클라이언트에게 어떠한 방법으로 데이터를 전송하고 있는지에 대해 설명한다. # 서버에서는 무선LAN을 사용하지 않는다 일반적으로 LAN이라고 하면, LAN케이블을 이용한 "유선 LAN"과 전파를 이용한 "무선 LAN"이 있다. 여기서 서버에 접속할 때는 유선 LAN이 기본이다. 아무리 빠른 무선 LAN이 있다고 하더라도, 속도나 품질면에서 유선 LAN보다 낫다고 할 수는 없다. 무선 LAN은 어디까지나 클라이언트쪽의 것이다. # 하위 레이어부터 순서대로 이해하자 네트워크의 기본인 "OSI 참조 모델"을 베이스로, 하위 레이어(물리층)부터 상위 레이어(트랜스포트층)까지 순서대로 ..

1-07 서버와 네트워크

서버와 클라이언트를 이어주는 기술이 네트워크이다. 모든 서버는 네트워크를 통해 서비스, 즉 데이터를 제공한다. # 네트워크란? 여기서 네트워크란, 컴퓨터와 컴퓨터를 이어주는 "컴퓨터 네트워크"를 의미한다. 이 때 컴퓨터 네트워크는 물리적으로 데이터를 케이블(무선 LAN의 경우 전파)을 이용해 전달한다. # 컴퓨터 네트워크? 컴퓨터 네트워크에는 구체적으로 무엇이 있을까? 가장 먼저 떠오르는 것은 "인터넷"일 것이다. 인터넷이란 인터네트워크(Internetwork), 즉 전 세계에 퍼져 있는 네트워크를 모두 연결한 거대 컴퓨터 네트워크를 의미한다. 다음으로 "LAN"이 있을 것이다. LAN이란 Local Area Network를 약어로, 일정 범위내에 존재하는 컴퓨터를 연결하는 컴퓨터 네트워크를 의미한다. ..

1-06 서버의 운용관리

구축 작업이 완료된 서버는 서비스인과 함께 운용관리 단계로 들어간다. 운용관리 단계는 시스템의 일생에서 가장 길며, 서비스 종료 단계까지 계속된다. 서버의 운용관리 단계에는 "설정변경", "트러블 대응"의 주요 2가지 작업이 있다. # 설정변경 서버 관리자는 유저의 요구에 맞추어, 서버의 설정을 변경한다. 하지만 모든 요구에 따라 설정을 변경하는 것은 부담이 있을 수 있기 때문에, 설정변경요구대장 등과 같은 관리 문서로 설정 범위 등을 한정하여 관리를 용이하게 하도록 한다. # 트러블 대응 트러블 대응에는 크게 "사전대응"과 "사후대응"이 있다. 사전대응은 트러블을 예방하는 대응이다. 서버의 각종 상태(CPU 사용량, 메모리 사용량, 통신상태, 에러로그 등)를 정기적으로 체크하는 일이 있을 수 있다. 이..