网络初体验
网络:mac地址、网卡地址、网关、ip、子网掩码、广播协议、回环地址、socket、入栈出栈规则
物理层: 传输媒介、跟硬件相关连接设备
链路层:mac地址 广播形式传播 发送判断和自己的mac地址是否相同 不相同则丢弃 相同则接受
网络层:一个mac地址是北京的机器怎么给mac地址是上海的机器发消息 在同一个网络 广播的量巨大 延伸出子网络 C类 192打头
mac地址在子网络可以通过广播传递 不在一个子网络需通过路由传递 导致网络层出现 引进一个新的地址 网络地址
网络地址 一个绑定网卡的mac地址 一个网络管理员分配的网络地址 ip地址 IPV4
P地址由32个二进制位组成,从0.0.0.0到255.255.255.255
每台机器都会有一个IP地址,IP地址分为两部分,前一部分是网络,后一部分是主机。
前一部分的网络是用来判断是否在同一个子网络内的,但是问题是:32里不一定前多少位是网络的,可能是前8位,可能是前16位,不一定。所以就有了子网掩码这个概念。
子网掩码和IP地址格式一样,都是32位的二进制数,但是有一个特征:网络部分全是1,主机部分全是0。那判断是否在一个子网络内就通过把两个IP地址分别和子网掩码进行AND运算(两个1结果是1,剩下的都是0),如果运算的结果一致,则在一个子网络内,否则不在。
那么知道两个机器的IP地址之后就可以判断是否在同一个子网络内了,如果是的话,则可以通过广播的形式传递信息,如果不是则只能将数据包传递给两个子网络的网关处
传输层:有了mac地址和ip地址以后两个机器就可以互相通信了,但是机器上有许多程序在跑,各种聊天工具,视频工具,不同网页;传递过来的数据包怎么知道是哪个进程的?
所以还有一个端口的参数,"端口"是0到65535之间的一个整数,正好16个二进制位。0到1023的端口被系统占用,用户只能选用大于1023的端口;
网络层是主机到主机的确定,传输层就是端口到端口的确定;主机+端口称为套接字(socket)。
传输层的两个协议:UDP和TCP
UDP:不可靠的传输,但速度快。
TCP;可靠,但相对复杂,速度慢。
应用层:面向用户的最高一层,对于应用程序的数据格式的规定,举例来说,TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了"应用层"
【转载。。。。。出处:Java架构师之路 公众号】