博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP/IP协议
阅读量:5235 次
发布时间:2019-06-14

本文共 1047 字,大约阅读时间需要 3 分钟。

在网络中,通过IP地址,协议和端口号可以唯一地确定网络上的一个应用程序,其中把IP地址和端口的组合叫做端点

TCP/IP通常被认为是一个四层协议系统,如图1所示。

(1)应用层:“”并不是指运行在网络上的某个特别应用程序,而是提供了一组方便程序开发者在自己的应用程序中使用网络功能的服务;应用层提供的服务包括文件传输(FTP)、文件管理以及电子邮件的信息处理(SMTP)、http协议等

(2)传输层:传输层的功能就是建立端口到端口的通信,通过MAC和IP地址,我们可以找到互联网上任意两台主机来建立通信。然而这里有一个问题,找到主机后,主机上有很多程序都需要用到网络,比如说你在一边听歌和好用QQ聊天, 当网络上发送来一个数据包时, 是怎么知道它是表示聊天的内容还是歌曲的内容的, 这时候就需要一个参数来表示这个数据包是发送给那个程序(进程)来使用的,这个参数我们就叫做端口号,主机上用端口号来标识不同的程序(进程),端口是0到65535之间的一个整数,0到1023的端口被系统占用,用户只能选择大于1023的端口。在传输层有两个非常重要的协议:UDP 协议和TCP协议

(3)网络层:网络层就是建立主机与主机的通信  ,  该层通过寻址(寻址地址)来建立两个节点之间的连接,大家都知道我们的电脑连接上网络后都一个IP地址,我们可以通过IP地址来确定不同的计算机是否在同一个子网路,Ip地址分成两部分,前24位代表网络地址,后8位代表主机号, 如192.168.254.1和192.168.254.2就处于同一个子网络里,因为这两个IP地址的前24位相同。

(4)链路层:数据链链路层就是来传输以"帧"为单位的数据包,把数据传递给上一层(网络层),帧数据由两部分组成:帧头和帧数据,帧头包括接受方物理地址(就是网卡的地址和其他的网络信息,帧数据就是要传输的数据体。数据帧的最长为1500字节,如果数据很长,就必须分割成多个帧进行发送。

 

网络上的计算机要通信,必须要知道通信的计算机“在哪里”, 首先通过网络地址IP来判断是否处于同一个子网络,然后再对物理地址(MAC)地址进行处理,从而准确确定要通信计算机的位置。然后通过端口号标示不同的程序。

 

参考:http://www.cnblogs.com/zhili/archive/2012/08/11/NetWorkProgramming.html

转载于:https://www.cnblogs.com/qtiger/p/5981001.html

你可能感兴趣的文章
jQuery live()方法使用及变更(事件委托)
查看>>
Java类载入器(一)——类载入器层次与模型
查看>>
How To run OAI eNB (No S1) with USRP X310(1)
查看>>
html标签
查看>>
洛谷 [P1995] 程序自动分析
查看>>
jQuery.on() 函数详解
查看>>
中文词频统计
查看>>
羊车问题
查看>>
想要什么适配什么?
查看>>
jQuery_5AJAX使用
查看>>
redis 开启远程访问权限
查看>>
马克鳗
查看>>
[CodeVs3196]黄金宝藏(DP/极大极小搜索)
查看>>
C# 怎么让winform程序中的输入文本框保留上次的输入
查看>>
上周热点回顾(5.25-5.31)
查看>>
canvas标签画布实际宽高与显示在界面中宽高的区别
查看>>
SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别
查看>>
ASP.NET Core 依赖注入(DI)
查看>>
火锅-开2了
查看>>
实验6,继承
查看>>