네트워크와 친구들
네트워킹이란
- 서로 연결해서 대화할 수 있게 하는 것. 즉 장비들을 서로 대화가 가능하도록 묶어주는 것이다.
인터넷
- 여러개의 네트워크를 묶었다라는 의미.
- 하나의 프로토콜(TCP/IP)만을 사용한다.
인트라넷
- 내부의 네트워크. 즉 사내 네트워크
엑스트라넷
- 기업의 인트라넷을 그 기업의 종업원 이외에도 협력 회사나 고객에게 사용할 수 있도록 한것이다.
LAN(Local Area Network)
- 어느 한정된 공간에서 네트워크를 구성한다.
WAN(Wide Area Network)
- 서로 멀리 떨어진 곳을 네트워크로 연결한다.
이더넷(Ethernet)
- 네트워크를 만드는 방법 중 하나 ( 가장 많이 쓰임 )
- CSMA/CD 프로토콜을 사용(순서없이 아무나 통신)
- CSMA/CD 프로토콜이란
- 눈치 보고 있다가 통신을 한다. 만약 서로 다른 컴퓨터에서 동시에 한 네트워크에 통신하려고 하면 충돌이 발생하는데, 이것을 '콜리전'이라고 한다. 콜리전이 발생하면 랜덤한 시간 동안 기다렸다가 다시 보내게 된다.
토큰링(TokenRing)
- 네트워크를 만드는 방법 중 하나
- 토큰을 가진 PC만 네트워크에 데이터를 실어 보낼 수 있다.
- 데이터를 다 보내고 나면 바로 옆 PC에 토큰을 건네준다.
- 충돌(콜리전)이 발생하지 않는다.
- 네트워크 성능을 미리 예측하기 쉽다.
- 단점은 내 차례가 올 때까지 계속 기다려야 된다.
맥 어드레스(MAC Address)
- 네트워크상에서 통신을 위해서 서로를 구분할 일종의 주소
- 하드웨어 주소다. 모든 랜상의 디바이스들은 반드시 유일한 맥주소를 가져야한다.
- TCP/IP로 통신을 하기 위해서 IP 주소를 사용하는데 IP주소를 다시 MAC으로 바꾸는 절차(ARP)를 거친다.
- ARP(Address Resolution Protocol): IP 주소를 다시 MAC 으로 바꾸는 절차
유니캐스트, 브로드캐스트, 멀티캐스트
네트워크에서 통신하는 방식에 따른 구분이다.
1대1이냐, 1대다냐 등등
유니캐스트
- 정확하게 받는 서버의 주소를 프레임안에 써넣는데 이때 서버가 하나여야 한다.
- 어떤 서버가 유니캐스트 프레임을 뿌리게되면 어차피 로컬 이더넷의 기본 성격이 붙어있는 모든 서버에게 정보를 뿌리는 shared 방식이기 때문에 그 로컬 네트워크 상에 있는 모든 서버들은 일단 이 프레임을 받아들이고 랜카드에서 자신의 맥주소와 비교하게 된다. 만약 맥주소가 다르면 그 프레임을 버린다. 만약 같으면 랜카드는 프레임을 CPU로 올린다.
- 이렇게되면 CPU까지 영향을 주지 않기 때문에 성능 저하는 발생하지 않는다.
- 현재 가장 많이 사용하는 방식
- 특정 목적지의 주소 하나만을 가지고 통신하는 방식
- 목적지 주소가 아닌 다른 PC들의 CPU 성능을 저하시키지 않는다. 그 이유는 자신의 맥주소가 아니라고 판단되면 랜카드가 이 프레임을 버리기 때문이다.
브로드캐스트
- 로컬 랜 상에 붙어있는 모든 네트워크 장비들에게 보내는 통신
- 로컬 랜 == 라우터에 의해서 구분지어진 공간, 즉 브로드캐스트 도메인
- 통신의 대상이 특정한 네트워크 장비가 아니고 내가 살고 있는 네트워크 안의 모든 네트워크 장비들에게 통신할 때 쓰기 위한 방식
- 자기가 받기 싫다고 해서 받지 않는 것이 아니라 무조건 받는다.
- 랜카드는 자신의 맥주소와 달라도 브로드캐스트 패킷을 CPU에 보낸다.
- 네트워크 상의 전체 노드로 전송되기 때문에 전체적인 트래픽도 증가하지만 이 패킷을 받은 모든 랜카드가 이 패킷을 CPU로 전송하기 때문에 CPU는 하던일을 멈추고 또 다른 일을 해야 하고 이에 따라 PC 성능이 떨어진다.
- 따라서 과도한 브로드캐스트는 전체 네트워크 성능뿐만아니라 PC자체의 성능 역시 떨어뜨린다.CPU가 랜카드가 요청한 일을 하느라고 다른 일을 못하게 되니가..
그러면 브로드캐스트를 어떤 경우에 사용할까??
- 처음 두 PC간에 통신을 하는 경우 상대의 IP주소는 알수 있어도 상대의 맥주소를 모른다. 이 경우에 상대의 맥 주소를 알아내기 위해 하는 동작이 ARP다. ARP가 브로드캐스트다!!
- 라우터끼리 정보를 교환하거나 다른 라우터를 찾을 때
- 서버들이 자신이 어떤 서비스를 제공한다는 것을 모든 클라이언트들에게 알릴 때
멀티캐스트
- 200명의 사용자가 있는 네트워크에서 150명에게만 같은 정보를 동시에 보내야하는 상황
- 유니캐스트는 일일이 같은 데이터를 150번 반복해서 보내야하기 때문에 트래픽 가중
- 브로드캐스트는 한번에 200명 모두 전달되기 때문에 필요없는 50명도 데이터 받음
- 보내고자 하는 그룹 멤버들에게만 한 번에 보낼 수있다.
- 스위치나 라우터가 이 멀티캐스트 기능을 꼭 지원해야 사용가능하다
OSI 7 Layer
OSI : Open System Interconnection
- Application Layer (애플리케이션 계층)
- Presentation Layer(프레젠테이션 계층)
- Session Layer(세션 계층)
- Transport Layer(트랜스포트 계층)
- Network Layer(네트워크 계층)
- Data Link Layer(데이터 링크 계층)
- Physical Layer(피지컬 계층)
만든 이유
- 데이터의 흐름이 한눈에 보임.
- 문제 해결 간편 ⇒ 전자 메일이 안되면 도스 모드로 빠져나가서 핑을 쏴본다. 즉, 인터넷이 끊겼는지 확인을 해본다. 이것은 메일 프로그램의 문제 즉 애플리케이션문제가 발생했을 때 핑을 쏴봄으로써 네트워크계층 문제 때문에 메일이 안되는지를 확인해보는 것이다. 만약 핑을 쐈는데 이상이 없다면 네트워크 계층까지는 이상이 없다라는 것이니까 맨 아래 피지컬, 그다음 데이터 링크 그리고 네트워크 계층 까지의 문제는 아니라는 결론을 내린다. 그리고 그 위의 계층부터 확인하면 된다.
- 데이터케이블이나 허브 ⇒ 피지컬계층
- 스위치나 브리지 ⇒ 데이터 링크 계층
- 라우터 ⇒ 네트워크 계층
피지컬 계층
- 통신의 맨 아래 단계
- 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송
- 통신단위는 비트(0,1)
- 단지 데이터를 전달할 뿐
- 통신케이블, 리피터, 허브
데이터 링크 계층
- 피지컬 레이어를 통하여 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행
- 통신에서의 오류찾기, 재전송, 맥주소로 통신
- 이 계층에서 전송되는 단위를 프레임이라고 한다.
- 브리지, 스위치
네트워크 계층
- 데이터를 목적지까지 가장 안전하고 빠르게 전달 ⇒ 라우팅
- 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해줌
- 네트워크 계층의 헤더에는 IP주소가 붙는다
프로토콜
- 프로토콜이 같은것끼리만 통신가능
- 인터넷은 TCP/IP라는 프로토콜