NW 기본 지식

NETWORK 2019. 12. 10. 18:59

* 네트워크 - 컴퓨터끼리 정보나 데이터를 주고 받을 수 있는 상태


* TCP/IP - 데이터를 주고 받는데 필요한 규칙을 프로토콜이라하는데 그것 중 하나가 TCP/IP이다.


* 네트워크 규모에 따른 비교

LAN - 좁은 공간. 동축케이블이란 랜 케이블 사용, 전파나 적외선 이용한것을 무선 랜 이라고 함.

WAN - 먼 공간. 광섬유 케이블, 공중망(전화회선) 사용.

인터넷 - 여러개의 랜과 완을 연결한 큰 네트워크


* 어떻게 컴퓨터 간 데이터를 주고 받는가?

케이블이나 전파를 사용하여 데이터를 보내려면 데이터를 전기 신호나 광 신호로 변환.

그 후에 그 신호를 다시 원래 문서나 그림으로 변환.

신호로 변환 - 전달 - 데이터 재변환 한 것이 tcp/ip라는 구조. (인터넷은 tcp/ip로 전세계 네트워크 연결한 것)


* TCP/IP는 5단계로 나누어져 있다.

물리층 - 데이터 링크층 - 네트워크층 - 트랜스포트층 - 애플리케이션층


* TCP/IP는 데이터를 분할하여 보낸다.

작게 나눠진 데이터가 패킷. 그러므로 패킷통신.


* 통신 프로토콜

데이터를 주고 받으려면 송신측과 수신측이 서로 매뉴얼에 따라 움직여야함. 그 매뉴얼이 프로토콜.

그 통신 프로토콜이 TCP/IP이다.


* tcp/ip 구조

애플리케이션 - http telnet ftp smtp - 애플리케이션에 맞춰 통신 수행

트랜스포트 - TCP UDP - 송신 데이터를 수신측 애플리케이션에 전달위해 동작

네트워크 - ip - 수신측 PC까지 데이터 전달 위해 작동

데이터링크 - 이더넷, ppp, fddi, atm - 네트워크층과 물리층간 차이 줄이는 프로토콜 존재

물리 - 데이터 -> 신호, 신호 -> 데이터 변환 (변환방법은 정해져있지 않음)


* 계층간 정보 교환 방법

송신측에서 헤더 + 데이터 + 트레일러로 된 정보를 애플리케이션에서 만들었다.

트랜스포트층에서는 위에 것이 데이터가 되고 자신의 헤더와 트레일러를 붙여 다시 만듬.

수신측에서는 사용된 헤더와 트레일러는 순서대로 벗겨가며 통신을 함


* 데이터 송수신

애플리케이션 - 데이터에 애플리케이션에서 주고받기에 필요한 정보 입력

트랜스포트 - 데이터를 분할하여 패킷으로 만든다. 각 패킷안에 정보를 넣는다.

네트워크 - 위에서 내려온 패킷에 정보를 넣는다

데이터링크 - 보낼 곳의 정보 등을 넣는다

물리층 - 비트열을 신호로 변환하여 수신측에 보냄


* 서버, 클라이언트

서버는 서비스를 제공, 클라이언트는 서비스를 받는 것

tcp/ip 서비스는 서버와 클라이언트의 주고받기이다.

하나의 서버가 여러 서버의 기능을 할 수 있다.


* url

http://www.aaa.co.kr :80/bbb/ccc/ddd.html

스킴명://도메인:포트번호/경로.../파일명

.은 피리어드라고 함


* 스킴명 - 서비스종류

http - www

ftp - 파일전송

mailto - 전자메일

telnet - 원격로그인


* 도메인

www.aaa.co.kr

서버명.조직명.조직속성.국가코드

서버명은 www 서버를 말함


* gTLD

gtld - 의미

com - 상업용

org - 비영리

net - 네트워크 기업


* WWW

www는 www 서버와 www 브라우저의 주고받기이다.

http 프로토콜을 이용하여 주고받음


* 전자메일

메일계정@도메인 abc@naver.com

메일러(메일 작성하는 애플리케이션) <-> 메일서버 간 통신


* SMTP와 POP

SMTP는 자신의 메일서버에서 상대방 메일서버로 보냄

POP은 자신의 메일서버에서 보관한 메일을 전달

SMTP와 POP는 전자메일 관련 TCP/IP 프로토콜이다.


* MIME

전자메일은 텍스트만 됐지만 사진, 음성파일도 가능해짐


* 파일 전송

데이터를 서버에 업로드할 때 사용함

FTP 프로토콜을 이용함


* 원격 로그인

떨어진 장소에서 접속하여 조작하는 서비스

대표적으로 telnet


* 넷뉴스

인터넷에서 정보 공유 서비스,

여러 news 서버간 연결이 되어있고 각기 다른 서버에 기사를 송신하거나 구독하거나 답변을 달거나 한다.

news 서버간에 정보를 공유한다.


* 파일공유

다른 사용자와 함께 파일이나 애플리케이션을 사용 가능한 서비스

파일 공유는 클라이언트가 수행한 조작을 서버로 실시간 보내서 이루어짐

윈도우즈 SMB, UNIX는 NFS이다.




* 애플리케이션 계층

사용자가 컴퓨터끼리 주고받기 할 수 있는 통신 서비스 형태로 만든것

애플리케이션 프로토콜은 서버와 클라이언트 사이에서 주고받기 할 수 있도록함


* 애플리케이션 헤더

애플리케이션 계층에 추가되는 헤더를 애플리케이션 헤더

요청과 응답에 대한 정보가 있음

아래층으로 가면 헤더와 데이터를 묶어버려 알 수가 없다.


* http 프로토콜

클라이언트 -> 서버

헤더에는 요청에 관련된 것이 들어감. 데이터에는 본문 내용

서버 -> 클라이언트

헤더에는 요청에 대한 처리결과 들어감. 데이터에는 본문 결과


* 쿠키

http 프로토콜 주고받기한 정보를 클라이언트에 저장해둠.

다음 통신에 서버에게 그 정보를 주면 그 전에 이어진 통신으로 취급함


한번 연결후에 쿠키를 저장하고

다음 연결할때 요청 헤더에 쿠키를 써넣고 통신하면 쿠키를 보고 사용자 지정하여 웹페이지 작성함.

이전 통신을 근거로 페이지 표시됨


* 전자메일 주고받기

전자메일 주고받을 때 클라이언트 -> 서버 호출을 명령

서버 -> 클라이언트 호출을 응답

명령 또는 응답은 애플리케이션층에서 데이터없이 단독으로 트랜스포트층으로 전달

그 명령,응답에 트랜스포트 헤더가 붙어 세그먼트가 됨

메일 보내는측 클라이언트, 받는측 서버가 된다.


* 문자코드

컴퓨터는 문자코드로 문자를 나타내서 주고받는다

사람 이해 언어 -> 컴퓨터 이해 언어 변환 인코딩

컴퓨터 이해 언어 -> 사람 이해 언어 변환 디코딩

아스키코드 등이 있음


* mime

전자메일에 한글, 파일첨부 기능

제목에 한글 사용 x 본문에 텍스트 이외 x


한글제목이나 그림은 인코딩하여 넣고 디코딩에 필요한 정보 넣어서

수신측에 보냄

// 애플리케이션 계층


* 트랜스포트층


* 포트

컴퓨터, 통신장비에서 다른 장치와 물리적으로 접속되는 부분.

특정 서버프로그램 지정하는 방법


* tcp udp

tcp는 정확성, 안전. 재전송 기능 있고 전자메일, www 서비스 활용

udp는 데이터 빠르게 전달. 재전송기능 없고 전화, 스트리밍


* 애플리케이션의 출입구

포트번호가 지정되어있다

 서비스 

 애플리케이션 프로토콜

 포트번호 

 트랜스포트층 프로토콜

www

 http

 80 

 TCP/UDP 

 메일 송신

 http

 25

 TCP/UDP

 메일 수신

 SMTP

 110

 TCP/UDP

 파일전송

 FTP

 20, 21

 TCP/UDP

 원격 로그인

 TELNET

 23

 TCP/UDP

 DNS

 DNS

 53

 TCP/UDP

 DHCP

 DHCP

 546, 547

 UDP


그 외 포트는 임의로 설정하면 컴퓨터 간 포트번호의 사용에 대한 통일이 되어야함


* tcp 프로토콜

지연되면 다시 보냄

확인응답 없으면 다시 보냄

파손되면 다시 보냄


* 애플리케이션층에 전달 시

송신측은 트랜스포트층의 데이터 단위인 세그먼트를 수신측에 보낸다

수신측은 애플리케이션층 프로토콜에게 최종적으로 전달할 때 포트번호를 보고 판단함.

 

* tcp에서 데이터 전달

컨트롤 플래그로 통신 상태 알려줌

시퀀스번호는 데이터를 순서대로 맞출때 사용

이것들을 tcp 헤더에 기록하여 전달하면 확실히 전달


* 핸드셰이크

통신에서 서로 상대와 확인해가며 주고받는 것을 말함

통신 시작 -> <- 통신시작 -> 확인 3 way handsshake


*udp 프로토콜

확인도 안하고 데이터 보내고 받아도 응답하지않음

udp에서는 동시에 보낼수 있다 브로드캐스트


* netstat 명령


프로토콜 / 호스트명::포트번호 / 상대 도메인, 포트번호 / 통신상태

// netstat만 치면 tcp만 보임 udp 까지 보려면 netstat -a 로 보면됨

// 통신상태 established 연결됨임

// 트랜스포트층


* 네트워크층

* ip주소

컴퓨터를 식별하기 위해 인터넷에 연결된 컴퓨터에 주어지는 숫자.


*서브넷마스크

네트워크부, 호스트부 경계 나타냄


*icmp

오류 메세지 등으로 문제사항을 알려주는 프로토콜


* 네트워크층 역할

수신처까지 경로가 여러개일때 적절한 루트를 사용하여 전달하는 것도 역할


* ip 프로토콜

트랜스포트층으로 데이터를 받아 수신처 특정하는 ip번호를 기록한 ip 헤더를 붙여 데이터 링크로 전달

수신층은 자기 ip인지 확인후 맞다면 트랜스포트층으로 전달


* ip 주소

네트워크부 / 호스트부

192.168.        100. 10


네트워크부 : 네트워크 고유번호

호스트부 : 자유롭게 할당


아이피 주소 - 192.168.100.10

서브넷 마스크 - 255.255.0.0

192.168.100.10 / 16 (서브넷마스크 네트워크부의 비트수)


* 수신처까지 통로

* 라우터

네트워크 간 연결에서 수신처까지 길 안내를 하는 기기

라우터의 네트워크층에서는 수신처 ip 주소를 보고 다음 전송처 결정


통과한 라우터 개수는 컴퓨터 사이의 거리. 홉이다.


* 네트워크층 신뢰성

ip는 받았는지 확인 안하고 계속 보냄 비커넥션

그래서 icmp 프로토콜이 있다.


접속상태 조사하는 ping, 수신처까지 경로 조사 tracert는 icmp 메세지로 반환


*ip 주소

고정 ip주소는 개별적 설정, DHCP 이용하면 자동설정


* dhcp 이용

dhcp 사용할 클라이언트는 255.255.255.255를 랜 안에 있는 모든 기기에 송신, 브로드캐스트한다.

그럼 dhcp 서버가 응답하여 아이피 주소를 준다.


* 네트워크 세분화

127.15.4.0 ~ 127.15.4.255/24, ip주소를 사용하는 네트워크가 있다.

127.15.4라는 네트워크 주소는 갖는 하나의 네트워크에 254대의 기기를 접속 가능.

고유주소는 접속이 안되므로 254대임.

254대 전부 쓰지 않으므로 서브넷이란 장치로 가상으로 작은 네트워크를 만들어 사용


127.15.4.255/24 -> /28 네트워크 부가 4개 증가로 14개 기기 접속할 네트워크 14개 만듬


* lan 내에서 주소

사설 ip

회사나 가정, 한정된 공간에서만 스는 ip주소를 사설 주소.


사설ip 범위

10.0.0.0 ~ 10.255.255.255/8

172.16.0.0 ~ 172.31.255.255/12

192.168.0.0 ~ 192.168.255.255/16


* nat

사설주소와 공인주소를 1대1로 대응시켜 변환하는 장치.


*napt (ip 매스커레이드)

하나의 공인주소로 여러대 컴퓨터 동시 접속


* 도메인

ip주소와 도메인명을 처리하는것이 dns.

지역dns서버는 ip주소와 도메인의 대응표 관리함


* ipconfig ping

ipconfig는 윈도우 상에서 tcp/ip 설정관련 정보 표시

ping은 특정 컴퓨터가 네트워크상에 존재하는지 조사


// 네트워크층



* 데이터링크층, 물리층


* nic

랜카드, 네트워크 접속하기 위한 확장카드.

* mac주소

랜카드마다 할당된 물리주소. 변경불가


* 데이터링크층 역할

기기를 연결하는 방법들 중에 동일한 방법으로 연결된 덩어리를 데이터 링크라함.

링크간 차이가 없도록 작동하게 하는 것이 역할

데이터링크 내 기기 식별 시 mac 주소 이용


* 물리층

데이터링크 내부 신호가 흐르는 부분이 물리층, 비트열와 신호변환 일어나는데 프로토콜 없음


* 데이터링크 구성

노드 - 데이터링크 상 기기, 컴퓨터, 라우터

통신매체

동축케이블 - 전압변화로 신호 전달. 장거리는 리피터 필요

광섬유케이블 - 유리로 빛의 점멸로 신호 전달. 전파 영향 x

무선 - 전파나 적외선으로 신호전달. 장애물, 주변전파 영향o


노드와 통신매체 연결기기 - 비트열과 신호 변환 역할. nic나 모뎀


* 네트워크 통신방법

네트워크 지나갈땐 ip주소 사용, 데이터링크 안으로 들어가면 mac 주소 사용


* 수신처의 ip 주소는 알지만 mac주소 모를때

데이터링크 내에선 mac 주소 사용하기 때문에 ip 주소만으로는 수신처에 도달할 수 없다.

arp 프로토콜 사용.


* 브로드캐스트 mac주소

같은 데이터링크 내 모든 기기에게 보낼 수 있는 mac 주소를 브로드캐스트 맥주소라함.

라우터 못넘어감. (자신의 네트워크 안에 전부 뿌리는 걸 말함)


* mac 주소 모를때

송신측은 mac 주소 모를때 ip 주소를 arp 패킷에 적고 브로드캐스트 mac주소로 보낸다.

자신의 ip주소이면 mac주소를 적은 arp 패킷을 보낸다


* 네트워크 연결방법

버스형, 링형, 스타형, 망형


* 이더넷

네트워크 내 모든 기기에 신호 보내고 해당 기기만 받는 방법, 프레임 주고받음

* 토큰링

토큰이란 프레임 이용. 토큰 취득한 컴퓨터만 송신가능. 충돌 없지만 느림.

* 무선랜

전파, 적외선 통신. IEEE802.11a, b ,g 이런걸 CSMA/CA 방식이라함

무선기지국으로 보내면 거기서 링크 내 모든 기기에 보내서 통신

* 블루투스

전파를 이용한 통신. PDA 전화등 전력 용량 작은 컴퓨터 이용.


* FDDI - 광섬유 이용한 토큰링 방식

* PPP - 전화선 이용하여 인터넷 접속 방식.

* PPPoE - 이더넷 연결된 두대 컴퓨터 간 인증 수행하여 인터넷 접속

* XDSL - 전화선 사용한 디지털 통신기술. VDSL, SDSL은 같은데 ADSL은 다운로드는 빠른데 업로드 느림


* 데이터링크 기기

리피터

네트워크 신호를 보정하고 증폭시킴.

브리지

신호보정 + 다른 두 개의 데이터 링크를 연결하는 기능 가진 기기.

수신처 MAC주소를 보고 다른 데이터링크면 보내고 같은 데이터 링크면 파기


허브

하나의 신호를 여러개 케이블로 보낼 때. 신호 증폭 (리피터 역할)


스위칭 허브

특정 노드에만 신호 보내는 허브


* ARP 명령

cmd 창에 arp -a


// 아이피 주소, 맥주소, 주소의  저장형태 (static 영구적 저장, dynamic 일정기간 사용 안하면 자동삭제)

ping 응답 없는데 arp에서 mac 주소가 나타난다면 icmp 주고받기 금지된 상태임.


* 라우팅

라우터는 목적지까지 가장 빠른길 찾아주면서 네트워크간 연결하는 장비

라우터는 들어온 모든 패킷을 목적지로 보내는 역할인데 이 패킷을 전송하는 과정을 라우팅.

라우팅 테이블은 라우팅 하기위한 정보 모아놓은 테이블로 수신 네트워크 주소, 홉, 경과 시간 등 들어감


수신처 컴퓨터가 꼭 같은 네트워크 안에 없을 수 있기 때문에 다른 네트워크 이동 또한 라우터 역할.


라우팅 테이블에는 수신네트워크, 다음홉주소, 메트릭, 출력 인터페이스, 경로 정보원, 경과시간이 있음

1. 라우터가 파악한 네트워크의 주소, 서브넷 마스크

2. 수신 네트워크로 전달하기 위한 다음 전송처가 되는 라우터 ip주소와 서브넷 마스크

3. 경로의 최적도. 값이 적을수록 뛰어남

4. 데이터 링크 정보 이더넷, ppp 등

5. 수동 등록인지 자동으로 등록된 건지

6. 경로 등록된 이후 시간


* 정적, 동적라우팅

정적 라우팅 - 경로 고정되어 한군데라도 잘못되면 전달 안됨

동적 라우팅 - 라우터끼리 정보교환, 가장 적절한 경로 전달


* 라우터간 정보교환

동적 라우팅 시에 라우터는 직접 연결된 라우터 통해 정보 얻어 라우팅 테이블 작성. 라우팅 프로토콜임.


* 라우팅 프로토콜

크게 IGP EGP로 나뉨. IGP는 동일한 조직내 라우터끼리 주고받기위한 프로토콜.

EGP는 서로 다른 조직의 라우터끼리 주고받기위한 프로토콜


* 라우팅 프로토콜

RIP - IGP 일종. 홉수 중시로 라우팅 테이블 작성

OSPF - IGP 일종. 목적지까지 전송 속도 중시한 라우팅 테이블 작성]

BGP - EFP 일종. 목적지까지 홉수 중시로 라우팅 테이블 작성


* 라우터 구조

라우터의 네트워크층에서 수신 IP 확인하여 라우팅 테이블로부터 다음 전송지 판단.

데이터 링크층은 전송처 MAC 주소 추가하여 네트워크로 보냄


* tracert 명령어

어떤 컴퓨터까지의 경로 표시. icmp 메세지 사용

tracert www.naver.com 사용.


* 보안

보안프로토콜

SSH - 애플리케이션 계층에 원격 로그인시 통신을 암호화

Telnet은 암호화가 없어서 위험. SSH는 명령어를 암호화해서 패킷을 도청해도 해독 어려움

SSL - 트랜스포트층 위에 데이터 암호화 프로토콜 

브라우저를 사이에 두고 상대를 인증하고 데이터를 암호화함.

IPsec - 네트워크층 암호화


* 프록시 서버

클라이언트를 대신하여 인터넷 접속, 요청에 맞는 서비스를 클라이언트에게 제공하는 서버를 프록시 서버.

www 브라우저 <-> http 프록시 서버< -> www 서버











1. DNS

-. IP 주소는 다루기 어려워 문자로 대응한 장치


2. PING

-. 네트워크에 해당 pc가 존재하는지 확인. 존재한다면 통신 가능한지

-. ICMP 메세지를 송신함. (악용 우려로 ICMP 메세지 돌려주지 않는 것도 있음)


3. NIC

-. 랜카드, 랜카드의 고유번호를 MAC 이라고함. 변경 안됨.


* 데이터링크/물리층


노드

-. 라우터, PC를 말함


통신매체

금속선 케이블(동축) - 전압의 변화로 데이터 구분. (장거리에는 리피터)

광섬유(유리) - 빛의 명암으로 데이터 구분. (전파영향 없음)

무선 - 전파, 적외선으로 데이터 구분 (장애물, 주변 전파 영향 있음)


브로드 캐스트

-. 같은 네트워크 내 모든 기기에 보내는 것이 브로드캐스트 (라우터 밖 안나감)


ARP

-. IP 주소로 MAC 주소 바꿔주는 것.

-. 알고싶은 mac 주소를 가진 pc의 ip를 arp에 적고 브로드 캐스트함


이더넷

1 CSMA/CD

-. a에서 b로 보냄

-. 충돌시에는 기다렸다가 눈치보면서 보냄


2 토큰링

-. 토큰이 있는 pc만 통신가능 (다른 것들은 안됨)


3 FDDI

-. 광섬유를 통한 토큰방식


4 무선랜

-. 전파로 통신 IEEE802.118 등등


5 블루투스

-. 전파로 통신


CSMA/CA

-. a에서 b로 보냄

-. a는 기지국으로, 기지국은 전파로 변환하여 b와 c에 보냄. b는 회수, c는 파기


PPP

-. 1대1 통신. mac 주소 필요없음.

-. 주로 전화선을 통해 인터넷 이용


ip 주소 구성


192.168.10.12


192.168 - 네트워크 부 = 네트워크의 고유번호

10.12 - 호스트부 = 자유


서브넷마스크

네트워크부와 호스트부의 경계를 알 수 없을 때 값을 사용하면 알 수 있음


ip 주소와 서브넷 묶어쓰기

-. 192.168.10.12/16 서브넷의 네트워크부 1 비트수

-. 192.168은 b클래스 255.255.0.0

-. 255는 2진수로 11111111 (8개다) 그러므로 255 두개니까 1이 16개임


-. 거쳐간 라우터 개수로 컴퓨터 사이의 거리를 나타냄. 단위 홉


ICMP

IP 통신/상태 등 수신처에서 보낸 곳에 전달


IP 주소 설정


DHCP

-. ip 자동할당

-. DHCP 클라이언트는 255.255.255.255를 서버에 보낸다. (브로드캐스트 주소)

-. DHCP 서버는 127.15.xx라고 다시 클라이언트에게 보냄


네트워크의 세분화

127.15.4.0 ~ 127.15.4.255/24 는 256개인가? 255개인가?

-. 0과 255는 고유주소이므로 사용할 수 없다. 254개다.

서브넷 마스크를 더 늘릴 수 있나?

-. 127.15.4.0 ~ 127.15.4.255/28 : 4개 증가됐다


사설ip

-. 한정된 네트워크 안에서 ip주소


사설ip 범위

10.0.0.0 ~ 10.255.255.255/8

172.16.0.0 ~ 172.31.255.255/12

192.168.0.0 ~ 192.168.255.255/16


사설을 바로 인터넷 접속이 안된다. 공인주소로 바꾸려면?


NAT

-. 사설과 공인주소를 1대1로 대응 시켜서 변환


NAPT (ip 매스커레이드)

-. 하나의 공인 주소로 여러대 접속 가능 (포트로 식별)


데이터링크 상 기기


리피터 - 통신 거리 등 신호가 약하면 보정하는 기기

브리지 - 신호의 보정 + 다른 두 개의 데이터링크를 연결하는 기능


허브 - 하나의 신호를 여러 케이블로 보냄 (+증폭)

스위칭 허브 - 수신처 mac 주소 보고 여러 접속처중 특정 노드에만 신호보냄 (일반 허브보다 시간 오래)

ARP -A - 네트워크에 있는 mac 주소 전부 보여줌


라우팅

-. 패킷을 다른 네트워크로 이동 시키는게 라우터 역할

-. 라우팅은? 라우터를 경유하여 수신처에 도달할때까지 경로 결정

-. 라우팅테이블? 라우팅시 필요한 데이터


정적라우팅 - 미리 등록된 라우팅 테이블 사용전달 4홉

동적라우팅 - 자동적으로 경로 선택 2홉 (더빠름)


라우팅 프로토콜

IGP - 같은 조직 속한..

EGP - 다른조직 속한 라우터끼리 주고 받는 프로토콜



라우팅 프로토콜

rip - igp 목적지까지 홉수 중시. 라우팅 테이블 작성

ospf - igp 목적지까지의 속도

bgp - egp 홉수 중시


tracert 아이피, 도메인 - icmp 주고받기 (어떤 컴퓨터까지 경로)


게이트웨이 = 라우터 (프록시서버 라고도 함)

netstat - 리스닝 대기, established 연결


nslookup gw.wimco.co.kr - ip주소 알아내기

route print -- 라우팅 테이블 정보 (pc 패킷이 어디로 가야할지 정해줌)

'NETWORK' 카테고리의 다른 글

NW 4  (0) 2019.12.10
NW 3  (0) 2019.12.10
NW 2  (0) 2019.12.10
NW 1  (0) 2019.12.10
NW 툴 관련  (0) 2019.12.10
블로그 이미지

ryancha9

https://blog.naver.com/7246lsy

,