본문 바로가기

OSI Model

(30)
30. HTTP 와 HTTPS (7계층 Application Layer 응용 계층) (7계층 Application Layer 응용 계층) HTTP HTTP(HyperText Transfer Protocol)는 분산 하이퍼미디어 환경에서 빠르고 간편하게 데이터를 전송하는 프로토콜이다 HTTP는 80번 포트를 사용하도록 정의되어 있다. 따라서 HTTP 서버는 80번 포트에서 대기하고, 클라이언트는 TCP를 사용해 연결을 설정한다. 웹 브라우저는 사용자가 요청하는 자원을 가리키는 URL 주소에 사용할 응용 프로토콜을 표현할 수 있다. 즉, URL 주소의 첫 번째 부분을 사용해 서비스의 유형을 표현한다. 예를 들어, HTTP 서버로부터 웹 정보를 얻으려면 http://www.korea.co.kr 과 같이 URL 주소에 HTTP를 사용한다고 명시해야 한다. FTP 서버에 접근하려면 ftp://w..
29. SMTP (7계층 Application Layer 응용 계층) (7계층 Application Layer 응용 계층) SMTP(Simple Mail Transfer Protocol) 인터넷에서 전자메일 전송은 SMTP(Simple Mail Transfer Protocol)를 지원하는 호스트 사이에 이루어지며, SMTP 호스트는 SMTP 명령과 그에 따른 응답 과정을 반복해 메일을 전송한다. 메일을 보내는 과정은 절차상 세 단계로 구분할 수 있다. 먼저 연결 설정 단계에서는 SMTP 클라이언트가 TCP를 이용해 SMTP 서버와 세션을 설정한다. 연결 설정이 완료되면 SMTP 서버에 메일을 보내는 데이터 전송 단계를 진행할 수 있다. 이 단계에서 송신자의 메일 주소, 수신자의 메일 주소, 메일 제목 등과 같은 헤더 정보를 포함하여 메일의 전체 내용이 순차적으로 전송된다...
28. DNS (7계층 Application Layer 응용 계층) (7계층 Application Layer 응용 계층) DNS ( domain name system) 의 줄임말이다 예전에 DNS가 없던 시절에는 내가 접속하고자 하는 사이트에 접속하려면 IP주소를 입력하여 접속이 가능했다 IP를 외우기 힘들어 만들어진것이 알파벳과 숫자로 이루어진 주소를 만들자였고 그래서 만들어진 것이 DNS이다 만약 DNS가 없다면 예를들어 네이버에 접속하려면 주소창에 네이버대신 네이버IP주소를 입력해야 된다 주소를 문자로 표현하면 좋은점이 문자로 접속하려는 사이트의 역활을 표현하거나 국적을 표현 할 수 있다 예를 들어 기관별로는 com이면 기업체, edu인 경우는 교육기관, go 또는 gov인 경우는 정부기관 등으로 나누어져 있다. 국가도메인은 au는 호주, ca는 캐나다, jp는 일..
27. 파일전송 프로토콜(FTP,SFTP) (7계층 Application Layer 응용 계층) (7계층 Application Layer 응용 계층) FTP는 File Transfer Protocol 약자이다 HTTP 프로토콜이 일반 문자를 비롯, 사진, 음악/동영상 콘텐츠까지 간편하게 사용할 수 있다는 장점이 있지만, 많은 양의 파일을 일괄적으로 주고 받기에는 결정적으로 속도도 느리고 파일 제어도 번거롭다. 이렇게 대량의 파일을 네트워크를 통해 주고 받을 때는 파일 전송 전용 서비스인 Transfer Protocol)를 사용하는 것이 훨씬 유리하다. FTP의 동작원리 및 장단점 FTP는 인터넷을 통한 파일 송수신 만을 위해 고안된 서비스(또는 프로토콜)이기 때문에 동작 방식이 대단히 단순하고 직관적이다. 그런 만큼 사용법도 간단하다. 무엇보다 파일을 빠른 속도로 한꺼번에 주고 받을 수 있다는 것이..
26. SSH (7계층 Application Layer 응용 계층) (7계층 Application Layer 응용 계층) ssh란 telnet 보다 강력한 보안을 제공하는 원격접속 프로토콜이다 SSH의 특징은 암호화,인증,압축, 무결성이 있다 인증 ssh는 사전에 미리 약속된 공개키를 사용하여 인증을 한다 공개키를 설정을 안한 경우에도 패스워드를 이용하여 인증을 한다 암호화 호스트 사이의 모든 통신이 암호화에 의해 보호되기 때문에 패스워드가 노출되지 않는다 SSH는 네트워크를 통해 전달되는 데이터를 암호화한다 3DES, blowfish 등 여러 가지 암호화 방식이 있으며 새로운 암호화 기법을 추가할 수 있다 무결성 SSH는 MAC(Message Authenticaion Code) 알고리즘을 사용하여 데이터가 변질되는것을 막는다 클라이언트가 서버로 메세지를 전송하면 sec..
25. Telnet (텔넷) (7계층 Application Layer 응용 계층) (7계층 Application Layer 응용 계층) Telnet (텔넷) 인터넷 사용자는 텔넷을 이용하여 전세계의 다양한 온라인 서비스를 제공받을 수 있다. 물론 다른 컴퓨터에 접속하려면 그 컴퓨터를 사용할 수 있는 사용자 번호와 비밀번호를 알고 있어야 한다. 이 텔넷 응용서비스가 매우 효과적인 이유는 거리에 관계없이 쉽게 원격시스템에 접속할 수 있기 때문이다. 텔넷도 다른 TCP/IP 프로토콜의 인터넷 응용서비스들과 마찬가지로 모두 고유의 포트번호를 가지고 있는데 텔넷은 23번이라는 고유 포트번호를 가진다. 일반적으로는 이 번호를 사용하지만 특별한 게임이나 채팅 등의 서비스 제공이나 문제 해결을 위한 디버깅을 위해서 별도의 포트번호를 사용할 수도 있다.
24. 원격접속 프로토콜 (telnet,SSH,FTP,SMTP,HTTP등등...) (7계층 Application Layer 응용 계층) 원격접속 프로토콜 네이버,다음,구글,페이스북등등 인터넷을 통해 검색하거나 쇼핑하거나 게임하는것 모두 모두 원격접속이라 할 수 있다 (현실에서 직접 해당 사이트를 운영하는 서버장치에 연결해서 사용하지 않고 집이나 PC방같은 멀리 떨어져있는 위치에서 서버가 제공하는 서비스를 이용) 원격접속에 연결하려 할때 주의할점은 1. 접속하려는장비나 내가 사용하고 있는 장비에 둘다 게이트웨이가 있는지 확인 (다른 네트워크대역에서 원격접속할때 필요함) 2.원격접속타입과 포트가 보안(방화벽)에 차단되는지 확인 (접속하려는 대상과 내가 사용하는 대상 모두 확인필요) 3.보안을 위해 보안키를 사용하는 경우가 있다 보안키가 필요한지 확인 밑에 사진은 AWS 아마존 웹 서비스를..
23. 7계층 Application Layer(응용 계층) (7계층 Application Layer 응용 계층) 응용 프로그램과 통신 프로그램 간의 인터페이스를 제공한다 HTTP라는 응용계층 프로토콜은 응용 프로그램인 웹(Worldwide Wed) 브라우저(browser)에게 필요한 데이터를 송수신할때 사용한다. 대표적인 응용계층프로토콜로는 원격 접속을 위한 텔넷(Telnet), 파일전송을 위한FTP, 도메인 이름을 IP 주소로 변환시켜주는 DNS, 메일전송을 위한 프로토콜인 SMTP등이 있다 인터넷 사용자는 원격접속을 이용하여 전세계의 다양한 온라인 서비스를 제공받을 수 있다. 7계층 응용계층 서비스들은 고유의 포트번호를 가지고 있다 이것은 절대적인것은 아니며 관리자들이 변경 할 수 있다 일반적으로는 이 번호를 사용하지만 특별한 게임이나 채팅 등의 서비스 제공..
22. UTF-8 (6계층 Presentation Layer 표현 계층) (6계층 Presentation Layer 표현 계층) UTF-8 (Universal Coded Character Set + Transformation Format – 8-bit) 의 약자이다 과거에는 ASCII 코드를 표준으로 삼고 사용했었다. 하지만 ASCII 코드는 미국에서 정의한 표준이기 때문에 표현할 수 있는 문자는 알파벳과 그 확장형인 몇 가지 기호들만을 포함했다. 더군다나 1바이트라는 크기로 만들어져서 다른 나라의 언어를 담기에는 다소 무리가 있었다. 그렇기 때문에 알파벳을 제외한 세계 다른 언어들은 모두 깨져서 표현되었다. 그래서 나타난 것이 "유니코드"이다. 2바이트의 넉넉한 크기와 함께 65,536개의 문자를 표현할 수 있다. 하지만 기존 1바이트만으로 충분히 표현할 수 있었던 ASCI..
21. 유니코드(unicode) (6계층 Presentation Layer 표현 계층) (6계층 Presentation Layer 표현 계층) 유니코드(unicode) 각 나라별 언어를 모두 표현하기 위해 나온 코드 체계가 유니코드(unicode)다. 유니코드는 사용중인 운영체제, 프로그램, 언어에 관계없이 문자마다 고유한 코드 값을 제공하는 새로운 개념의 코드다. 언어와 상관없이 모든 문자를 16비트로 표현하므로 최대 65,536자를 표현할 수 있다. 유니코드 표준은 애플(Apple), HP, IBM, 썬(Sun), MS, 오라클(Oracle)과 같은 업계에서 채택되었으며, XML, 자바, ECMAScript, LDAP, CORBA 등의 표준에서 사용되고 있다.