Ha$p^3$lanet

Journey before Destination

0%

网络层的数据最终需要被封装到链路层的链路层帧中进行传输。本篇将介绍链路层的主要功能,并以以太网为例子,具体介绍了实际网络中使用的链路层协议。

阅读全文 »

1. 概述-网络层的功能和服务

不同于应用层和运输层大多在网络终端机上提供服务,网络层涉及网络中的每台主机和路由器。因此,不同于仅关注端到端的特性,网络层需要关注整个网络系统-网络数据报如何从一台主机顺利传输到另一台。因特网通过对网络中的每个接口进行编址的方式实现对网络中设备的定位,通过路由选择规定传路径,再通过路由设备实现数据报的具体的转发。

阅读全文 »

1. 概述

运输层协议的任务是为不同主机的 应用进程 之间提供 逻辑通信(logic communication)。具体的过程是:在发送端,运输层将应用程序进程需要发送的数据包装成 报文段(segment),然后将他们传递给网络层,由网络层将其封装为一个数据报后向目的地发送,接收端网络层接收到该数据后,首先发送给运输层,运输层再将该数据处理后交给对应的应用程序(端系统中的具体进程)。

阅读全文 »

主要参考书籍 《计算机网络:自顶向下方法》的第二章关于网络应用层的介绍。对网络应用层的常用协议:HTTP,FTP,邮件协议,DNS 以及 P2P的两种协议 进行了简单学习。最后介绍了套接字编程,直观地展现了运输层协议TCP与UDP的区别。

阅读全文 »

使用 Java 进行并发编程,最好的方案是尽量减少多个进程间的数据共享。如果一定需要共享数据,则推荐使用上一篇中介绍的 Java 类库中线程安全的类进行数据的处理。但为了了解这些 Java 类库中线程安全类的实现方案,也防止我们在极端的时候需要实现自己的线程安全的类,本篇中通过介绍锁,以及 thread 的概念,来了解线程安全的具体机制与底层实现方法。

阅读全文 »

并发编程适用于执行时需要长等待的任务(例如网络任务),通过并发编程,可以让这类任务在等待时让出处理器。现今,大多数计算系统已为多处理器或多核系统,并发编程的任务则是尽量让所有的处理器核心都保持忙碌,而不是停住等待耗时程序。

阅读全文 »

Java 8 中引入的 新的类 Stream,提供了一种对于 Java 集合类的更高层次的概念抽象。流可以自动处理很多计算、操作过程中的琐碎细节,使得代码更加高效简洁。

阅读全文 »

在 java 中,Java API 为我们实现了一些基本的数据结构以及相关的算法,这一篇,将复习这些数据结构的组织关系,重点方法。

阅读全文 »