컴퓨터 네트워크
컴퓨터와 프린터, 스마트폰과 같은 기타 장치들이 서로 통신할 수 있도록 연결한 집합이다.
통신을 위해 컴퓨터와 장치는 정보 전송을 지원하는 물리적 매체로 연결되어야한다.
구리 케이블 및 광섬유와 같은 유선 매체와 무선 주파수 매체를 포함하여 물리적 매체에 대한 다양한 기술이 개발되었다.
컴퓨터는 다양한 네트워크 토폴로지로 매체에 연결될 수 있다.
네트워크를 통신하기 위해 컴퓨터는 사용되는 매체와 상관없이 통신 프로토콜이라는 합의된 규칙을 사용한다.
컴퓨터 네트워크에는 개인용 컴퓨터, 서버, 네트워킹 하드웨어 또는 기타 특수 목적 또는 일반 목적을 호스트가 포함될 수 있다.
이들은 네트워크 주소로 식별되며 호스트명을 가질 수 있다.
호스트명은 노드에 대한 기억하기 쉬운 레이블 역할을 하며 초기 할당 후에는 거의 변경되지 않는다.
네트워크 주소는 인터넷 프로토콜과 같은 통신 프로토콜에 의해 노드를 찾고 식별하는 데 사용된다.
네트워크 패킷
대부분의 최신 컴퓨터 네트워크는 패킷 모드 전송을 기반으로 하는 프로토콜을 사용한다.
네트워크 패킷은 교환 네트워크에서 전송되는 형식화된 데이터 단위이다.
패킷은 제어 정보와 사용자 데이터(Payload)의 두 가지 유형의 데이터로 구성된다.
제어 정보는 네트워크가 사용자 데이터를 전달하는 데 필요한 데이터를 제공한다.
예를 들어, 소스 및 대상 네트워크 주소, 오류 감지 코드 및 시퀀싱 정보 등이 있다.
일반적으로 패킷 헤더 및 트레일러에 있으며, 사용자 데이터(Payload)는 그 사이에 있다.
패킷을 사용하면 네트워크가 회선 교환되는 경우보다 전송 매체의 대역폭을 사용자 간에 더 잘 공유할 수 있다.
OSI 7 Layer
| Layer | Protocol Data Unit(PDU) | e.g. | Function | ||
|---|---|---|---|---|---|
| Host Layer | 7 | Application Layer | Data | HTTP, SMTP, SNMP, FTP, TELNET, NFS, NTP | 리소스 공유나 원격 파일 접근을 위한 고급 프로토콜 |
| Host Layer | 6 | Presentation Layer | Data | ASCII, MIDI, MPEG | 네트워킹 서비스와 애플리케이션 간 데이터 변환 (문자 인코딩, 데이터 압축, 암호화/복호화) |
| Host Layer | 5 | Session Layer | Data | FIFO, NetBIOS, SSL, TLS | 통신 세션 관리, 즉 두 노드 간의 여러 번의 왕복 전송 형태로 정보를 지속적으로 교환하는 것 |
| Host Layer | 4 | Transport Layer | Segment | TCP, UDP, RTP, SCTP | 패킷 분할, ACK 및 멀티플렉싱를 포함하여 네트워크의 지점 간 데이터 세그먼트의 안정적인 전송 |
| Media Layer | 3 | Network Layer | Packet, Datagram | IP, ICMP, IPsec | Addressing, Routing, Traffic Control을 포함한 다중 노드 네트워크 구조화 및 관리 |
| Media Layer | 2 | Data Link Layer | Frame | Ethernet | 물리적 계층으로 연결된 두 노드 간 데이터 프레임 전송 |
| Media Layer | 1 | Physical Layer | Bit, Symbol | X.25, RS-232 | 물리적 매체를 통한 원시 비트 스트림의 전송 및 수신 |
브리지 및 스위치
브리지와 스위치는 통신에 관련된 포트로만 프레임을 전달한다.
브리지는 두 개의 포트만 있지만, 스위치는 일반적으로 수많은 포트를 가지고 있어 장치에 대한 스타 토폴로지를 용이하게 하고 추가 스위치를 계단식으로 연결할 수 있다.
브리지와 스위치는 OSI 모형의 데이터 링크 계층(2 Layer)에서 작동하며 두 개 이상의 네트워크 세그먼트 간의 트래픽을 브리지하여 단일 로컬 네트워크를 형성한다.
브리지와 스위치는 네트워크의 충돌 도메인을 분할하지만 단일 브로드캐스트 도메인을 유지한다. 브리징 및 스위칭을 통한 네트워크 세분화는 크고 혼잡한 네트워크를 더 작고 효율적인 네트워크의 집합으로 분해하는 데 도움이 된다.
라우터
라우터는 패킷에 포함된 주소 지정 또는 라우팅 정보를 처리하여 네트워크 간에 패킷을 전달하는 인터네트워킹 장치이다. 라우팅 정보는 종종 라우팅 테이블과 함께 처리된다.
라우터는 라우팅 테이블을 사용하여 전달할 위치를 결정한다.
방화벽
방화벽은 네트워크 보안 및 엑세스 규칙을 제어하는 네트워크 장치 또는 소프트웨어이다.
방화벽은 내부 네트워크와 인터넷과 같은 잠재적으로 안전하지 않은 외부 네트워크 간의 연결에 삽입된다.
방화벽은 일반적으로 인식되지 않는 소스에서의 엑세스 요청을 거부하고 인식된 소스에서의 작업을 허용하도록 구성된다.
점점 증가하는 사이버 공격 관련 이슈가 발생하는 현 시대에서 방화벽은 네트워크 보안에서 중요한 역할로 여겨지고 있다.
SSL(Secure Socket Layer)/TLS(Transport Layer Security)
SSL은 인증서가 있는 서버를 필요로 한다.
클라이언트가 SSL 보안 서버에 대한 엑세스를 요청하면 서버는 인증서 사본을 클라이언트에 보낸다.
SSL 클라이언트는 전달받은 인증서를 확인 후 검증되면 서버가 인증된다.
클라이언트는 세션에서 사용할 대칭 키 암호를 협상한다.
세션은 SSL 서버와 SSL 클라이언트 간의 매우 안전한 암호화된 터널에서 통신할 수 있게된다.