java网络编程:6-7、TCP/IP模型、TCP/IP模型与OSI参考模型的对应关系,端口、套接字(socket)的引入

348 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!!

目录【6】

一、TCP/IP模型

二、TCP/IP与OSI参考模型的对应关系

三、系列文章(java网络编程)

一、TCP/IP模型

1、TCP/IP起源于美国国防部高级研究规划署(DARPA)的一项研究计划——实现若干台主机的相互通信。

2、现在TCP/IP已成为Internet上通信的工业标准。

3、TCP/IP模型包括4个层次:

应用层、传输层、网络层、网络接口层

**因为我们这个ISO/OSI七层参考模型,它比较复杂,**所以我们目前用的比较多的,是TCP/IP模型。

二、TCP/IP与OSI参考模型的对应关系

1、TCP/IP模型的网络接口层 对应了 OSI参考模型的数据链路层和物理层,

2、网络层对应了网络层,传输层对应了传输层,

3、TCP/IP模型的应用层层 对应了 OSI参考模型的应用层、表示层和会话层。

4、OSI参考模型有时候我们在面试的时候,面试单位可能会出一些面试题,OSI参考模型是哪七层?

那么我们可以把这七层给记下来。

——————————————————————————————————————

目录【7】

一、端口

二、套接字(socket)的引入

三、系列文章(java网络编程)

一、端口

1、端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序通过系统调用与某端口建立连接(binding)后(也就是我们通常所说的,应用程序绑定到某个端口),传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都通过该端口输出。

2、端口用一个整数型标识符来表示,即端口号。端口号跟协议相关,TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,端口通常称为协议端口(protocol port),简称端口。

3、端口使用一个16位的数字来表示(也就是2个字节),它的范围是0~65535,1024以下的端口号保留给预定义的服务。例如:http使用80端口。

我们在编写网络应用程序的时候,那么我们去使用1024以上的端口号。

二、套接字(socket)的引入

1、为了能够方便的开发网络应用软件,由美国伯克利大学在Unix上推出了一种应用程序访问通信协议的操作系统调用socket(套接字)。socket的出现,使程序员可以很方便地访问TCP/IP,从而开发各种网络应用的程序。

2、随着Unix的应用推广,套接字在编写网络软件中得到了极大的普及。后来,套接字又被引进了Windows等操作系统中。Java语言也引入了套接字编程模型。